+/* Code generated from eC source file: freeAst.ec */
#if defined(__GNUC__)
typedef long long int64;
typedef unsigned long long uint64;
+#ifndef _WIN32
+#define __declspec(x)
+#endif
#elif defined(__TINYC__)
#include <stdarg.h>
#define __builtin_va_list va_list
#define strcasecmp stricmp
#define strncasecmp strnicmp
#define __declspec(x) __attribute__((x))
+#else
+#define __declspec(x)
#endif
typedef long long int64;
typedef unsigned long long uint64;
#else
#define __ENDIAN_PAD(x) 0
#endif
+#include <stdint.h>
+#include <sys/types.h>
+
+#if /*defined(_W64) || */(defined(__WORDSIZE) && __WORDSIZE == 8) || defined(__x86_64__)
+#define _64BIT 1
+#else
+#define _64BIT 0
+#endif
+
+#define arch_PointerSize sizeof(void *)
+#define structSize_Instance (_64BIT ? 24 : 12)
+#define structSize_Module (_64BIT ? 560 : 300)
+
+extern void * __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
+
+extern void * __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
+
+extern void * __ecereNameSpace__ecere__com__eSystem_Renew(void * memory, unsigned int size);
+
+extern void * __ecereNameSpace__ecere__com__eSystem_Renew0(void * memory, unsigned int size);
+
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
struct __ecereNameSpace__ecere__sys__BTNode;
{
struct __ecereNameSpace__ecere__sys__BTNode * root;
int count;
-int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, unsigned int a, unsigned int b);
+int (* CompareKey)(struct __ecereNameSpace__ecere__sys__BinaryTree * tree, uintptr_t a, uintptr_t b);
void (* FreeKey)(void * key);
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__OldList;
int count;
unsigned int offset;
unsigned int circ;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Method;
char * dataTypeString;
struct Type * dataType;
int memberAccess;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Property;
char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
struct Type * dataType;
-void (* Set)();
-int (* Get)();
-unsigned int (* IsSet)();
+void (* Set)(void * , int);
+int (* Get)(void * );
+unsigned int (* IsSet)(void * );
void * data;
void * symbol;
int vid;
unsigned int compiled;
unsigned int selfWatchable;
unsigned int isWatchable;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_CodePosition;
int line;
int charPos;
int pos;
-unsigned int included;
-};
+int included;
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Location;
{
struct CodePosition start;
struct CodePosition end;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Attrib;
struct Location loc;
int type;
struct __ecereNameSpace__ecere__sys__OldList * attribs;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ExtDecl;
{
char * s;
struct Attrib * attr;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDefinition;
int endid;
int declMode;
unsigned int deleteWatchable;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Context;
struct ClassDefinition * classDef;
unsigned int templateTypesOnly;
unsigned int hasNameSpace;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Instantiation;
struct Location nameLoc;
struct Location insideLoc;
unsigned int built;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declaration;
{
struct __ecereNameSpace__ecere__sys__OldList * specifiers;
struct __ecereNameSpace__ecere__sys__OldList * declarators;
-};
+} __attribute__ ((gcc_struct));
struct Instantiation * inst;
struct
{
struct Identifier * id;
struct Expression * exp;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
struct Specifier * extStorage;
struct Symbol * symbol;
int declMode;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Statement;
{
struct Identifier * id;
struct Statement * stmt;
-} labeled;
+} __attribute__ ((gcc_struct)) labeled;
struct
{
struct Expression * exp;
struct Statement * stmt;
-} caseStmt;
+} __attribute__ ((gcc_struct)) caseStmt;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * declarations;
struct __ecereNameSpace__ecere__sys__OldList * statements;
struct Context * context;
unsigned int isSwitch;
-} compound;
+} __attribute__ ((gcc_struct)) compound;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct Statement * stmt;
struct Statement * elseStmt;
-} ifStmt;
+} __attribute__ ((gcc_struct)) ifStmt;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct Statement * stmt;
-} switchStmt;
+} __attribute__ ((gcc_struct)) switchStmt;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct Statement * stmt;
-} whileStmt;
+} __attribute__ ((gcc_struct)) whileStmt;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct Statement * stmt;
-} doWhile;
+} __attribute__ ((gcc_struct)) doWhile;
struct
{
struct Statement * init;
struct Statement * check;
struct __ecereNameSpace__ecere__sys__OldList * increment;
struct Statement * stmt;
-} forStmt;
+} __attribute__ ((gcc_struct)) forStmt;
struct
{
struct Identifier * id;
-} gotoStmt;
+} __attribute__ ((gcc_struct)) gotoStmt;
struct
{
struct Specifier * spec;
struct __ecereNameSpace__ecere__sys__OldList * inputFields;
struct __ecereNameSpace__ecere__sys__OldList * outputFields;
struct __ecereNameSpace__ecere__sys__OldList * clobberedFields;
-} asmStmt;
+} __attribute__ ((gcc_struct)) asmStmt;
struct
{
struct Expression * watcher;
struct Expression * object;
struct __ecereNameSpace__ecere__sys__OldList * watches;
-} _watch;
+} __attribute__ ((gcc_struct)) _watch;
struct
{
struct Identifier * id;
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct __ecereNameSpace__ecere__sys__OldList * filter;
struct Statement * stmt;
-} forEachStmt;
+} __attribute__ ((gcc_struct)) forEachStmt;
struct Declaration * decl;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TypeName;
struct Declarator * declarator;
int classObjectType;
struct Expression * bitCount;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Initializer;
{
struct Expression * exp;
struct __ecereNameSpace__ecere__sys__OldList * list;
-};
+} __attribute__ ((gcc_struct));
unsigned int isConstant;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataValue;
double d;
long long i64;
uint64 ui64;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Expression;
{
char * constant;
struct Identifier * identifier;
-};
+} __attribute__ ((gcc_struct));
struct Statement * compound;
struct Instantiation * instance;
char * string;
{
struct __ecereNameSpace__ecere__sys__OldList * specifiers;
struct Declarator * decl;
-} _classExp;
+} __attribute__ ((gcc_struct)) _classExp;
struct
{
struct Identifier * id;
-} classData;
+} __attribute__ ((gcc_struct)) classData;
struct
{
struct Expression * exp;
struct __ecereNameSpace__ecere__sys__OldList * arguments;
struct Location argLoc;
-} call;
+} __attribute__ ((gcc_struct)) call;
struct
{
struct Expression * exp;
struct __ecereNameSpace__ecere__sys__OldList * index;
-} index;
+} __attribute__ ((gcc_struct)) index;
struct
{
struct Expression * exp;
struct Identifier * member;
int memberType;
unsigned int thisPtr;
-} member;
+} __attribute__ ((gcc_struct)) member;
struct
{
int op;
struct Expression * exp1;
struct Expression * exp2;
-} op;
+} __attribute__ ((gcc_struct)) op;
struct TypeName * typeName;
struct Specifier * _class;
struct
{
struct TypeName * typeName;
struct Expression * exp;
-} cast;
+} __attribute__ ((gcc_struct)) cast;
struct
{
struct Expression * cond;
struct __ecereNameSpace__ecere__sys__OldList * exp;
struct Expression * elseExp;
-} cond;
+} __attribute__ ((gcc_struct)) cond;
struct
{
struct TypeName * typeName;
struct Expression * size;
-} _new;
+} __attribute__ ((gcc_struct)) _new;
struct
{
struct TypeName * typeName;
struct Expression * size;
struct Expression * exp;
-} _renew;
+} __attribute__ ((gcc_struct)) _renew;
struct
{
char * table;
struct Identifier * id;
-} db;
+} __attribute__ ((gcc_struct)) db;
struct
{
struct Expression * ds;
struct Expression * name;
-} dbopen;
+} __attribute__ ((gcc_struct)) dbopen;
struct
{
struct TypeName * typeName;
struct Initializer * initializer;
-} initializer;
+} __attribute__ ((gcc_struct)) initializer;
struct
{
struct Expression * exp;
struct TypeName * typeName;
-} vaArg;
-};
+} __attribute__ ((gcc_struct)) vaArg;
+} __attribute__ ((gcc_struct));
unsigned int debugValue;
struct __ecereNameSpace__ecere__com__DataValue val;
-unsigned int address;
+uint64 address;
unsigned int hasAddress;
struct Type * expType;
struct Type * destType;
unsigned int addedThis;
unsigned int needCast;
unsigned int thisPtr;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateDatatype;
{
struct __ecereNameSpace__ecere__sys__OldList * specifiers;
struct Declarator * decl;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateArgument;
struct Expression * expression;
struct Identifier * identifier;
struct TemplateDatatype * templateDatatype;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_TemplateParameter;
{
struct TemplateDatatype * dataType;
int memberType;
-};
+} __attribute__ ((gcc_struct));
struct TemplateArgument * defaultArgument;
char * dataTypeString;
struct Type * baseType;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Specifier;
char * name;
struct Symbol * symbol;
struct __ecereNameSpace__ecere__sys__OldList * templateArgs;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct Identifier * id;
struct __ecereNameSpace__ecere__sys__OldList * definitions;
unsigned int addNameSpace;
struct Context * ctx;
-};
+struct ExtDecl * extDeclStruct;
+} __attribute__ ((gcc_struct));
struct Expression * expression;
struct Specifier * _class;
struct TemplateParameter * templateParameter;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Identifier;
struct Specifier * _class;
char * string;
struct Identifier * badID;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Pointer;
struct Location loc;
struct __ecereNameSpace__ecere__sys__OldList * qualifiers;
struct Pointer * pointer;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Declarator;
struct Expression * exp;
struct Expression * posExp;
struct Attrib * attrib;
-} structDecl;
+} __attribute__ ((gcc_struct)) structDecl;
struct
{
struct Expression * exp;
struct Specifier * enumClass;
-} array;
+} __attribute__ ((gcc_struct)) array;
struct
{
struct __ecereNameSpace__ecere__sys__OldList * parameters;
-} function;
+} __attribute__ ((gcc_struct)) function;
struct
{
struct Pointer * pointer;
-} pointer;
+} __attribute__ ((gcc_struct)) pointer;
struct
{
struct ExtDecl * extended;
-} extended;
-};
-};
+} __attribute__ ((gcc_struct)) extended;
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_FunctionDefinition;
struct Symbol * propSet;
int tempCount;
unsigned int propertyNoThis;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_DBTableDef;
struct Symbol * symbol;
struct __ecereNameSpace__ecere__sys__OldList * definitions;
int declMode;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_External;
char * importString;
struct Identifier * id;
struct DBTableDef * table;
-};
+} __attribute__ ((gcc_struct));
int importType;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ModuleImport;
struct __ecereNameSpace__ecere__sys__OldList functions;
int importType;
int importAccess;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassImport;
struct __ecereNameSpace__ecere__sys__OldList properties;
unsigned int itself;
unsigned int isRemote;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Symbol;
struct __ecereNameSpace__ecere__com__Method * method;
struct __ecereNameSpace__ecere__com__Property * _property;
struct __ecereNameSpace__ecere__com__Class * registered;
-};
+} __attribute__ ((gcc_struct));
int id;
int idCode;
union
{
struct External * pointerExternal;
struct External * structExternal;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct External * externalGet;
struct External * externalSet;
struct External * externalPtr;
struct External * externalIsSet;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct External * methodExternal;
struct External * methodCodeExternal;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
unsigned int imported;
unsigned int declaredStructSym;
struct __ecereNameSpace__ecere__com__Class * _class;
struct Context * ctx;
int isIterator;
struct Expression * propCategory;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_Type;
{
struct __ecereNameSpace__ecere__sys__OldList members;
char * enumName;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct Type * returnType;
struct Symbol * thisClass;
unsigned int staticMethod;
struct TemplateParameter * thisClassTemplate;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct __ecereNameSpace__ecere__com__Method * method;
struct __ecereNameSpace__ecere__com__Class * methodClass;
struct __ecereNameSpace__ecere__com__Class * usedClass;
-};
+} __attribute__ ((gcc_struct));
struct
{
struct Type * arrayType;
struct Expression * arraySizeExp;
unsigned int freeExp;
struct Symbol * enumClass;
-};
+} __attribute__ ((gcc_struct));
struct Type * type;
struct TemplateParameter * templateParameter;
-};
-unsigned int isSigned;
+} __attribute__ ((gcc_struct));
int kind;
-unsigned int constant;
unsigned int size;
char * name;
char * typeName;
-unsigned int count;
-unsigned int truth;
int classObjectType;
-unsigned int byReference;
-unsigned int extraParam;
int alignment;
-unsigned int directClassAccess;
-unsigned int computing;
-unsigned int dllExport;
unsigned int offset;
-unsigned int keepCast;
-unsigned int passAsTemplate;
int bitFieldCount;
-};
+int count;
+unsigned int isSigned : 1;
+unsigned int constant : 1;
+unsigned int truth : 1;
+unsigned int byReference : 1;
+unsigned int extraParam : 1;
+unsigned int directClassAccess : 1;
+unsigned int computing : 1;
+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;
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);
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Instance;
int (* * _vTbl)();
struct __ecereNameSpace__ecere__com__Class * _class;
int _refCount;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__DataMember;
struct __ecereNameSpace__ecere__sys__BinaryTree membersAlpha;
int memberOffset;
int structAlignment;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__SerialBuffer;
unsigned int count;
unsigned int _size;
unsigned int pos;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateArgument;
{
char * dataTypeString;
struct __ecereNameSpace__ecere__com__Class * dataTypeClass;
-};
+} __attribute__ ((gcc_struct));
struct __ecereNameSpace__ecere__com__DataValue expression;
struct
{
struct __ecereNameSpace__ecere__com__DataMember * member;
struct __ecereNameSpace__ecere__com__Property * prop;
struct __ecereNameSpace__ecere__com__Method * method;
-};
-};
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove(struct __ecereNameSpace__ecere__sys__OldList * this, void * item);
struct __ecereNameSpace__ecere__sys__NamedLink * next;
char * name;
void * data;
-};
+} __attribute__ ((gcc_struct));
void FreeExpression(struct Expression * exp);
struct MethodImport * next;
char * name;
unsigned int isVirtual;
-};
+} __attribute__ ((gcc_struct));
void FreeMethodImport(struct MethodImport * imp)
{
struct Definition * next;
char * name;
int type;
-};
+} __attribute__ ((gcc_struct));
void FreeModuleDefine(struct Definition * def)
{
struct Location loc;
struct Identifier * id;
struct Expression * exp;
-};
+} __attribute__ ((gcc_struct));
void FreeEnumerator(struct Enumerator * enumerator)
{
unsigned int dontMangle;
int id;
int idCode;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyDef;
unsigned int conversion;
unsigned int isWatchable;
struct Expression * category;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_PropertyWatch;
struct Statement * compound;
struct __ecereNameSpace__ecere__sys__OldList * properties;
unsigned int deleteWatch;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_ClassDef;
{
struct Identifier * id;
struct Initializer * initializer;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
int memberAccess;
void * object;
-};
+} __attribute__ ((gcc_struct));
void FreeClassDef(struct ClassDef * def);
{
case 1:
(__ecereNameSpace__ecere__com__eSystem_Delete(spec->name), spec->name = 0);
+if(spec->templateArgs)
+FreeList(spec->templateArgs, FreeTemplateArgument);
break;
case 5:
if(spec->extDecl)
FreeExtDecl(spec->extDecl);
-if(spec->templateArgs)
-{
-FreeList(spec->templateArgs, FreeTemplateArgument);
-}
break;
case 2:
if(spec->id)
if(spec->definitions)
FreeList(spec->definitions, FreeClassDef);
if(spec->baseSpecs)
-;
+FreeList(spec->baseSpecs, FreeSpecifier);
+if(spec->extDeclStruct)
+FreeExtDecl(spec->extDeclStruct);
if(spec->ctx)
{
FreeContext(spec->ctx);
struct Location loc;
char * attr;
struct Expression * exp;
-};
+} __attribute__ ((gcc_struct));
void FreeAttribute(struct Attribute * attr);
((watcher ? (__ecereClass_PropertyWatch->Destructor ? __ecereClass_PropertyWatch->Destructor(watcher) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(watcher)) : 0), watcher = 0);
}
+extern struct __ecereNameSpace__ecere__com__Class * __ecereClass_AsmField;
+
+struct AsmField
+{
+struct AsmField * prev;
+struct AsmField * next;
+struct Location loc;
+char * command;
+struct Expression * expression;
+} __attribute__ ((gcc_struct));
+
+void FreeAsmField(struct AsmField * field)
+{
+if(field->expression)
+FreeExpression(field->expression);
+(__ecereNameSpace__ecere__com__eSystem_Delete(field->command), field->command = 0);
+((field ? (__ecereClass_AsmField->Destructor ? __ecereClass_AsmField->Destructor(field) : 0, __ecereNameSpace__ecere__com__eSystem_Delete(field)) : 0), field = 0);
+}
+
void FreeDeclaration(struct Declaration * decl);
void FreeStatement(struct Statement * stmt)
{
switch(stmt->type)
{
+case 13:
+{
+if(stmt->asmStmt.spec)
+FreeSpecifier(stmt->asmStmt.spec);
+if(stmt->asmStmt.inputFields)
+FreeList(stmt->asmStmt.inputFields, FreeAsmField);
+if(stmt->asmStmt.outputFields)
+FreeList(stmt->asmStmt.outputFields, FreeAsmField);
+if(stmt->asmStmt.clobberedFields)
+FreeList(stmt->asmStmt.clobberedFields, FreeAsmField);
+(__ecereNameSpace__ecere__com__eSystem_Delete(stmt->asmStmt.statements), stmt->asmStmt.statements = 0);
+break;
+}
case 0:
if(stmt->labeled.stmt)
FreeStatement(stmt->labeled.stmt);
FreeStatement(stmt->caseStmt.stmt);
break;
case 14:
+if(stmt->decl)
FreeDeclaration(stmt->decl);
break;
case 2:
struct Location loc;
struct Declarator * declarator;
struct Initializer * initializer;
-};
+} __attribute__ ((gcc_struct));
void FreeInitDeclarator(struct InitDeclarator * decl)
{
unsigned int used;
unsigned int variable;
unsigned int takeOutExp;
-};
+} __attribute__ ((gcc_struct));
void FreeMemberInit(struct MemberInit * init)
{
{
struct __ecereNameSpace__ecere__sys__OldList * dataMembers;
struct ClassFunction * function;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
void FreeClassFunction(struct ClassFunction * func);
struct DBIndexItem * next;
struct Identifier * id;
int order;
-};
+} __attribute__ ((gcc_struct));
void FreeDBIndexItem(struct DBIndexItem * item)
{
{
struct TypeName * dataType;
char * name;
-};
+} __attribute__ ((gcc_struct));
struct __ecereNameSpace__ecere__sys__OldList * items;
-};
-};
+} __attribute__ ((gcc_struct));
+} __attribute__ ((gcc_struct));
void FreeDBTableEntry(struct DBTableEntry * entry)
{
struct __ecereNameSpace__ecere__sys__BinaryTree classes;
struct __ecereNameSpace__ecere__sys__BinaryTree defines;
struct __ecereNameSpace__ecere__sys__BinaryTree functions;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__Module;
int origImportType;
struct __ecereNameSpace__ecere__com__NameSpace privateNameSpace;
struct __ecereNameSpace__ecere__com__NameSpace publicNameSpace;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassTemplateParameter;
{
char * dataTypeString;
int memberType;
-};
+} __attribute__ ((gcc_struct));
struct __ecereNameSpace__ecere__com__ClassTemplateArgument defaultArg;
void * param;
-char __ecere_padding[4];
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__GlobalFunction;
char * dataTypeString;
struct Type * dataType;
void * symbol;
-};
+} __attribute__ ((gcc_struct));
extern unsigned int inCompiler;
{
struct __ecereNameSpace__ecere__com__Instance * container;
struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
-};
+} __attribute__ ((gcc_struct));
extern struct __ecereNameSpace__ecere__com__Instance * loadedModules;
{
struct __ecereNameSpace__ecere__com__Instance * container;
struct __ecereNameSpace__ecere__com__IteratorPointer * pointer;
-};
+} __attribute__ ((gcc_struct));
extern void __ecereNameSpace__ecere__com__eModule_Unload(struct __ecereNameSpace__ecere__com__Instance * fromModule, struct __ecereNameSpace__ecere__com__Instance * module);
void * first;
void * last;
int count;
-};
+} __attribute__ ((gcc_struct));
unsigned int __ecereMethod___ecereNameSpace__ecere__com__Iterator_Index(struct __ecereNameSpace__ecere__com__Iterator * this, uint64 index, unsigned int create);
struct __ecereNameSpace__ecere__com__Class * _class;
struct __ecereNameSpace__ecere__com__GlobalFunction * function;
-for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->classes.first; _class; _class = _class->next)
+for(_class = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->classes.first; _class; _class = _class->next)
{
struct __ecereNameSpace__ecere__com__DataMember * dataMember;
struct __ecereNameSpace__ecere__com__Method * method;
}
}
}
-for(function = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + 12)))->functions.first; function; function = function->next)
+for(function = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->functions.first; function; function = function->next)
{
if(function->dataType)
FreeType(function->dataType);
}
if(found)
{
-if(((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)list + 12)))->count == 1)
+if(((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)list + structSize_Instance)))->count == 1)
{
struct __ecereNameSpace__ecere__com__Instance * mod = (__extension__ ({
struct __ecereNameSpace__ecere__com__Iterator __internalIterator =
((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(list, ((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *))list->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetFirst])(list));
((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))loadedModules->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(loadedModules, mapIt.pointer);
(__ecereNameSpace__ecere__com__eInstance_DecRef(list), list = 0);
-__ecereNameSpace__ecere__com__eModule_Unload(__thisModule, mod);
+__ecereNameSpace__ecere__com__eModule_Unload(((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application, mod);
}
break;
}
struct __ecereNameSpace__ecere__sys__OldList allModules;
char * parsedCommand;
struct __ecereNameSpace__ecere__com__NameSpace systemNameSpace;
-};
+} __attribute__ ((gcc_struct));
void FreeTypeData(struct __ecereNameSpace__ecere__com__Instance * privateModule)
{
struct __ecereNameSpace__ecere__com__Instance * m;
-for(m = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)privateModule + 12)))->application + 300)))->allModules.first; m; m = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)m + 12)))->next)
+for(m = ((struct __ecereNameSpace__ecere__com__Application *)(((char *)((struct __ecereNameSpace__ecere__com__Module *)(((char *)privateModule + structSize_Instance)))->application + structSize_Module)))->allModules.first; m; m = ((struct __ecereNameSpace__ecere__com__Module *)(((char *)m + structSize_Instance)))->next)
{
FreeModuleData(m);
}
{
struct __ecereNameSpace__ecere__com__Class * class;
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeList", "void FreeList(ecere::sys::OldList list, void( *)(void *))", FreeList, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeList", "void FreeList(ecere::sys::OldList list, void (* FreeFunction)(void *))", FreeList, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeType", "void FreeType(Type type)", FreeType, module, 1);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeSymbol", "void FreeSymbol(Symbol symbol)", FreeSymbol, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeMethodImport", "void FreeMethodImport(MethodImport imp)", FreeMethodImport, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeExtDecl", "void FreeExtDecl(ExtDecl extDecl)", FreeExtDecl, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeDeclarator", "void FreeDeclarator(Declarator decl)", FreeDeclarator, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreePropertyWatch", "void FreePropertyWatch(PropertyWatch watcher)", FreePropertyWatch, module, 2);
+__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeAsmField", "void FreeAsmField(AsmField field)", FreeAsmField, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeStatement", "void FreeStatement(Statement stmt)", FreeStatement, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeInitializer", "void FreeInitializer(Initializer initializer)", FreeInitializer, module, 2);
__ecereNameSpace__ecere__com__eSystem_RegisterFunction("FreeInitDeclarator", "void FreeInitDeclarator(InitDeclarator decl)", FreeInitDeclarator, module, 2);