compiler/libec: Added missing null check to fix IDE crash
authorJerome St-Louis <jerome@ecere.com>
Tue, 21 Aug 2012 22:00:20 +0000 (18:00 -0400)
committerJerome St-Louis <jerome@ecere.com>
Tue, 21 Aug 2012 22:00:20 +0000 (18:00 -0400)
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/libec/src/pass15.ec

index d3bd323..ff93ed6 100644 (file)
@@ -14406,7 +14406,7 @@ if(inCompiler)
 PrintExpression(exp, expString);
 __ecereNameSpace__ecere__sys__ChangeCh(expString, '\n', ' ');
 }
-if(strcmp(sourceFile, "src\\lexer.ec") && strcmp(sourceFile, "src/lexer.ec"))
+if(!sourceFile || (strcmp(sourceFile, "src\\lexer.ec") && strcmp(sourceFile, "src/lexer.ec") && strcmp(sourceFile, "src\\grammar.ec") && strcmp(sourceFile, "src/grammar.ec")))
 Compiler_Warning(__ecereNameSpace__ecere__GetTranslatedString(__thisModule, "incompatible expression %s (%s); expected %s\n", (((void *)0))), expString, type1, type2);
 FreeType(exp->expType);
 exp->destType->refCount++;
index fb2ff28..2218d43 100644 (file)
@@ -10138,8 +10138,8 @@ void ProcessExpressionType(Expression exp)
 #ifdef _DEBUG
                   CheckExpressionType(exp, exp.destType, false);
 #endif
-                  // Flex generates code that triggers this, so we ignore it for a quiet sdk build:
-                  if(strcmp(sourceFile, "src\\lexer.ec") && strcmp(sourceFile, "src/lexer.ec"))
+                  // Flex & Bison generate code that triggers this, so we ignore it for a quiet sdk build:
+                  if(!sourceFile || (strcmp(sourceFile, "src\\lexer.ec") && strcmp(sourceFile, "src/lexer.ec") && strcmp(sourceFile, "src\\grammar.ec") && strcmp(sourceFile, "src/grammar.ec")))
                      Compiler_Warning($"incompatible expression %s (%s); expected %s\n", expString, type1, type2);
 
                   // TO CHECK: FORCING HERE TO HELP DEBUGGER