compiler/bootstrap, precompiled: Updated
authorJerome St-Louis <jerome@ecere.com>
Mon, 1 Jul 2013 23:35:43 +0000 (19:35 -0400)
committerJerome St-Louis <jerome@ecere.com>
Mon, 1 Jul 2013 23:35:43 +0000 (19:35 -0400)
compiler/bootstrap/libec/bootstrap/ast.c
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/bootstrap/libec/bootstrap/lexer.c
compiler/bootstrap/libec/bootstrap/output.c
compiler/bootstrap/libec/bootstrap/pass1.c
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/libec/precompiled/expression.c
compiler/libec/precompiled/grammar.c
compiler/libec/precompiled/type.c

index 56e73ae..374bd48 100644 (file)
@@ -4161,6 +4161,7 @@ specType->_class = _class;
 specType->kind = 8;
 break;
 }
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(&specType->members);
 if(spec->type == 3)
 specType->kind = 9;
 else if(spec->type == 4)
index 3444e29..c2ac6f6 100644 (file)
@@ -9575,8 +9575,8 @@ case 885:
 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->name, "::", strlen(yyvsp[(1) - (1)].specifier->name), 0x1, 0x0);
 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->name;
 
-FreeSpecifier(yyvsp[(1) - (1)].specifier);
 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
+FreeSpecifier(yyvsp[(1) - (1)].specifier);
 ;
 }
 break;
@@ -10560,10 +10560,10 @@ case 1041:
 char * colon = __ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
 
-FreeSpecifier(yyvsp[(1) - (3)].specifier);
 yyval.list = MkList();
 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
+FreeSpecifier(yyvsp[(1) - (3)].specifier);
 ;
 }
 break;
index 94f395b..135f610 100644 (file)
@@ -1760,6 +1760,11 @@ return ('$');
 break;
 case 168LL:
 {
+while(include_stack_ptr && !fileStack[include_stack_ptr])
+{
+--include_stack_ptr;
+defaultDeclMode = declMode = declModeStack[include_stack_ptr];
+}
 if(--include_stack_ptr < 0)
 {
 return 0;
index cdd1f69..19a64cb 100644 (file)
@@ -1892,6 +1892,7 @@ OutputAsmField(field, f);
 }
 }
 ((unsigned int (*)(struct __ecereNameSpace__ecere__com__Instance *, const char *  string))f->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__sys__File_Puts])(f, ");\n");
+outputLine++;
 break;
 }
 }
index 48ff711..eaa1176 100644 (file)
@@ -1355,7 +1355,7 @@ extern char *  outputFile;
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
-extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
+extern void FixModuleName(char *  moduleName);
 
 extern int sprintf(char * , char * , ...);
 
@@ -1386,9 +1386,7 @@ ListAdd(specifiers, MkSpecifier(VOID));
 moduleParam = MkTypeName(MkListOne(MkSpecifierName("Module")), MkDeclaratorIdentifier(MkIdentifier("module")));
 __ecereNameSpace__ecere__sys__GetLastDirectory(outputFile, moduleName);
 __ecereNameSpace__ecere__sys__StripExtension(moduleName);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
+FixModuleName(moduleName);
 sprintf(registerName, "__ecereRegisterModule_%s", moduleName);
 declarator = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(registerName)), MkListOne(moduleParam));
 {
@@ -1419,9 +1417,7 @@ ListAdd(specifiers, MkSpecifier(VOID));
 moduleParam = MkTypeName(MkListOne(MkSpecifierName("Module")), MkDeclaratorIdentifier(MkIdentifier("module")));
 __ecereNameSpace__ecere__sys__GetLastDirectory(outputFile, moduleName);
 __ecereNameSpace__ecere__sys__StripExtension(moduleName);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
+FixModuleName(moduleName);
 sprintf(registerName, "__ecereUnregisterModule_%s", moduleName);
 declarator = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(registerName)), MkListOne(moduleParam));
 {
@@ -2064,6 +2060,8 @@ extern void FreePropertyWatch(struct PropertyWatch * watcher);
 
 extern char *  sourceFile;
 
+extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
+
 extern struct Type * ProcessType(struct __ecereNameSpace__ecere__sys__OldList * specs, struct Declarator * decl);
 
 extern void PrintType(struct Type * type, char *  string, unsigned int printName, unsigned int fullName);
index 20c879c..6c4f71f 100644 (file)
@@ -1116,7 +1116,7 @@ extern char *  outputFile;
 
 extern unsigned int __ecereNameSpace__ecere__sys__StripExtension(char *  string);
 
-extern void __ecereNameSpace__ecere__sys__ChangeCh(char *  string, char ch1, char ch2);
+extern void FixModuleName(char *  moduleName);
 
 extern int sprintf(char * , char * , ...);
 
@@ -1154,9 +1154,7 @@ specifiers = MkList();
 ListAdd(specifiers, MkSpecifier(VOID));
 __ecereNameSpace__ecere__sys__GetLastDirectory(outputFile, moduleName);
 __ecereNameSpace__ecere__sys__StripExtension(moduleName);
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, ' ', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '.', '_');
-__ecereNameSpace__ecere__sys__ChangeCh(moduleName, '-', '_');
+FixModuleName(moduleName);
 sprintf(registerName, "__ecereCreateModuleInstances_%s", moduleName);
 declarator = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(registerName)), (((void *)0)));
 {
index 2e30267..0ee44f0 100644 (file)
@@ -630,6 +630,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
 struct __ecereNameSpace__ecere__com__Class * templateClass;
 struct __ecereNameSpace__ecere__sys__OldList templatized;
 int numParams;
+unsigned int isInstanceClass;
 } __attribute__ ((gcc_struct));
 
 extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
index 8521e6e..215f9e3 100644 (file)
@@ -762,6 +762,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
 struct __ecereNameSpace__ecere__com__Class * templateClass;
 struct __ecereNameSpace__ecere__sys__OldList templatized;
 int numParams;
+unsigned int isInstanceClass;
 } __attribute__ ((gcc_struct));
 
 extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
@@ -9574,8 +9575,8 @@ case 885:
 char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (1)].specifier->name, "::", strlen(yyvsp[(1) - (1)].specifier->name), 0x1, 0x0);
 char * s = colon ? colon + 2 : yyvsp[(1) - (1)].specifier->name;
 
-FreeSpecifier(yyvsp[(1) - (1)].specifier);
 yyval.declarator = MkDeclaratorIdentifier(MkIdentifier(s));
+FreeSpecifier(yyvsp[(1) - (1)].specifier);
 ;
 }
 break;
@@ -10559,10 +10560,10 @@ case 1041:
 char * colon = __ecereFunction___ecereNameSpace__ecere__sys__RSearchString(yyvsp[(1) - (3)].specifier->name, "::", strlen(yyvsp[(1) - (3)].specifier->name), 0x1, 0x0);
 char * s = colon ? colon + 2 : yyvsp[(1) - (3)].specifier->name;
 
-FreeSpecifier(yyvsp[(1) - (3)].specifier);
 yyval.list = MkList();
 ListAdd(yyval.list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(s)), (((void *)0))));
 ListAdd(yyval.list, yyvsp[(3) - (3)].initDeclarator);
+FreeSpecifier(yyvsp[(1) - (3)].specifier);
 ;
 }
 break;
index e9916a3..4892218 100644 (file)
@@ -656,6 +656,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
 struct __ecereNameSpace__ecere__com__Class * templateClass;
 struct __ecereNameSpace__ecere__sys__OldList templatized;
 int numParams;
+unsigned int isInstanceClass;
 } __attribute__ ((gcc_struct));
 
 extern __declspec(dllexport) long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);