wip II
[sdk] / compiler / bootstrap / libec / bootstrap / firstPass.c
index 7c70122..11c4daf 100644 (file)
@@ -1,3 +1,4 @@
+/* Code generated from eC source file: firstPass.ec */
 #if defined(__GNUC__)
 typedef long long int64;
 typedef unsigned long long uint64;
@@ -116,7 +117,7 @@ struct CodePosition
 int line;
 int charPos;
 int pos;
-unsigned int included;
+int included;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
@@ -657,6 +658,8 @@ unsigned int keepCast : 1;
 unsigned int passAsTemplate : 1;
 unsigned int dllExport : 1;
 unsigned int attrStdcall : 1;
+unsigned int declaredWithStruct : 1;
+unsigned int typedByReference : 1;
 } __attribute__ ((gcc_struct));
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Class;
@@ -715,6 +718,8 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument *  templateArgs;
 struct __ecereNameSpace__ecere__com__Class * templateClass;
 struct __ecereNameSpace__ecere__sys__OldList templatized;
 int numParams;
+unsigned int isInstanceClass;
+unsigned int byValueSystemClass;
 } __attribute__ ((gcc_struct));
 
 extern long long __ecereNameSpace__ecere__com__eClass_GetProperty(struct __ecereNameSpace__ecere__com__Class * _class, char *  name);
@@ -1049,7 +1054,8 @@ if(declId)
 {
 if(regClass && regClass->type == 2)
 {
-struct Expression * sizeExp = d->structDecl.exp, * posExp = d->structDecl.posExp;
+struct Expression * sizeExp = (d->type == 0) ? d->structDecl.exp : (((void *)0));
+struct Expression * posExp = (d->type == 0) ? d->structDecl.posExp : (((void *)0));
 int bitSize = 0, bitPos = -1;
 char dataTypeString[1024] = "";
 
@@ -1069,8 +1075,11 @@ if(posExp->isConstant)
 bitPos = strtol(posExp->constant, (((void *)0)), 0);
 FreeExpression(posExp);
 }
+if(d->type == 0)
+{
 d->structDecl.posExp = (((void *)0));
 d->structDecl.exp = (((void *)0));
+}
 dataType = ProcessType(decl->specifiers, d);
 PrintType(dataType, dataTypeString, 0x0, 0x1);
 {
@@ -1433,6 +1442,8 @@ struct Declarator * d;
 
 for(d = (*decl->declarators).first; d; d = d->next)
 {
+if(d->type != 0)
+continue;
 if(d->structDecl.exp)
 {
 classType = 2;