id->string = __ecereNameSpace__ecere__sys__CopyString(name);
}
symbol = (struct Symbol *)__ecereMethod___ecereNameSpace__ecere__sys__BinaryTree_FindString(&(curContext->templateTypesOnly ? curContext->parent : curContext)->symbols, id->string);
-if(!symbol)
+if(!symbol && strcmp(id->string, "strlen"))
{
symbol = __extension__ ({
struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
// Avoid memory leaks on duplicated symbols (BinaryTree::Add Would Fail)
symbol = (Symbol)(curContext.templateTypesOnly ? curContext.parent : curContext).symbols.FindString(id.string);
- if(!symbol)
+ if(!symbol && strcmp(id.string, "strlen")) // Avoid overriding our definition of strlen or our 'uintsize' warning override won't take effect
{
symbol = Symbol { string = CopyString(id.string), type = ProcessType(specifiers, d.declarator) };
if(strstr(symbol.string, "::"))