classType = regClass.type;
// PUBLISHING CHECK ON BASE CLASS
- if(inCompiler)
+ if(inCompiler && regClass.base) // The base check saves a crash trying to inherit from itself
{
yylloc = loc;
// int64 value
{
char * temp;
- if(!strcmp(regClass.dataTypeString, "uint64"))
+ if(regClass.dataTypeString && !strcmp(regClass.dataTypeString, "uint64")) // regClass.dataTypeString was null for TokenType in 'enum TokenType : ExpOperator'
temp = PrintUInt64(value.data);
else
temp = PrintInt64(value.data);
if(!e.next && exp.usage.usageGet) e.usage.usageGet = true;
ProcessExpression(e);
}
- if(exp.usage.usageGet)
- exp.cond.elseExp.usage.usageGet = true;
- ProcessExpression(exp.cond.elseExp);
+ if(exp.cond.elseExp)
+ {
+ if(exp.usage.usageGet)
+ exp.cond.elseExp.usage.usageGet = true;
+ ProcessExpression(exp.cond.elseExp);
+ }
break;
}
case classExp:
InstDeclPassExpression(exp.cond.cond);
for(e = exp.cond.exp->first; e; e = e.next)
InstDeclPassExpression(e);
- InstDeclPassExpression(exp.cond.elseExp);
+ if(exp.cond.elseExp)
+ InstDeclPassExpression(exp.cond.elseExp);
break;
}
case extensionCompoundExp: