sdk: Fixed many warnings and related problems
authorJerome St-Louis <jerome@ecere.com>
Wed, 4 Jun 2014 04:13:56 +0000 (00:13 -0400)
committerJerome St-Louis <jerome@ecere.com>
Wed, 4 Jun 2014 04:20:00 +0000 (00:20 -0400)
101 files changed:
compiler/bootstrap/ecere/bootstrap/AVLTree.c
compiler/bootstrap/ecere/bootstrap/Array.c
compiler/bootstrap/ecere/bootstrap/BTNode.c
compiler/bootstrap/ecere/bootstrap/BinaryTree.c
compiler/bootstrap/ecere/bootstrap/BufferedFile.c
compiler/bootstrap/ecere/bootstrap/BuiltInContainer.c
compiler/bootstrap/ecere/bootstrap/Container.c
compiler/bootstrap/ecere/bootstrap/CustomAVLTree.c
compiler/bootstrap/ecere/bootstrap/DualPipe.c
compiler/bootstrap/ecere/bootstrap/File.c
compiler/bootstrap/ecere/bootstrap/LinkList.c
compiler/bootstrap/ecere/bootstrap/List.c
compiler/bootstrap/ecere/bootstrap/Map.c
compiler/bootstrap/ecere/bootstrap/OldList.c
compiler/bootstrap/ecere/bootstrap/String.c
compiler/bootstrap/ecere/bootstrap/System.c
compiler/bootstrap/ecere/bootstrap/TempFile.c
compiler/bootstrap/ecere/bootstrap/dataTypes.c
compiler/bootstrap/ecere/bootstrap/ecere.main.c
compiler/bootstrap/ecere/bootstrap/i18n.c
compiler/bootstrap/ecere/bootstrap/instance.c
compiler/bootstrap/ecere/bootstrap/memory.c
compiler/bootstrap/ecs/bootstrap/ecs.c
compiler/bootstrap/ecs/bootstrap/ecs.main.c
compiler/bootstrap/include/stdio.h
compiler/bootstrap/libec/bootstrap/ast.c
compiler/bootstrap/libec/bootstrap/copy.c
compiler/bootstrap/libec/bootstrap/dbpass.c
compiler/bootstrap/libec/bootstrap/ec.main.c
compiler/bootstrap/libec/bootstrap/ecdefs.c
compiler/bootstrap/libec/bootstrap/expression.c
compiler/bootstrap/libec/bootstrap/firstPass.c
compiler/bootstrap/libec/bootstrap/freeAst.c
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/bootstrap/libec/bootstrap/lexer.c
compiler/bootstrap/libec/bootstrap/loadSymbols.c
compiler/bootstrap/libec/bootstrap/output.c
compiler/bootstrap/libec/bootstrap/pass0.c
compiler/bootstrap/libec/bootstrap/pass1.c
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/bootstrap/libec/bootstrap/pass2.c
compiler/bootstrap/libec/bootstrap/pass3.c
compiler/bootstrap/libec/bootstrap/shortcuts.c
compiler/bootstrap/libec/bootstrap/type.c
compiler/ecp/ecp.ec
compiler/ecs/ecs.ec
compiler/libec/precompiled/expression.c
compiler/libec/precompiled/grammar.c
compiler/libec/precompiled/type.c
compiler/libec/src/ast.ec
compiler/libec/src/firstPass.ec
compiler/libec/src/freeAst.ec
compiler/libec/src/grammar.ec
compiler/libec/src/grammar.y
compiler/libec/src/lexer.ec
compiler/libec/src/lexer.l
compiler/libec/src/loadSymbols.ec
compiler/libec/src/pass0.ec
compiler/libec/src/pass1.ec
compiler/libec/src/pass15.ec
compiler/libec/src/pass16.ec
compiler/libec/src/pass2.ec
compiler/libec/src/shortcuts.ec
ecere/src/com/containers/CustomAVLTree.ec
ecere/src/com/instance.ec
ecere/src/net/dcom.ec
eda/libeda/src/EDA.ec
eda/libeda/src/gui/TableEditor.ec
extras/FileSystemIterator.ec
extras/gui/controls/StringsBox.ec
ide/src/IDESettings.ec
ide/src/OldIDESettings.ec
ide/src/ProjectSettings.ec
ide/src/about.ec
ide/src/debugger/Debugger.ec
ide/src/debugger/GDBDialog.ec
ide/src/debugger/debugFindCtx.ec
ide/src/debugger/debugTools.ec
ide/src/debugger/process.ec
ide/src/designer/CodeEditor.ec
ide/src/designer/CodeObject.ec
ide/src/designer/Designer.ec
ide/src/designer/Sheet.ec
ide/src/designer/ToolBox.ec
ide/src/designer/findCtx.ec
ide/src/designer/findExp.ec
ide/src/designer/findParams.ec
ide/src/dialogs/CompilersDetectionDialog.ec
ide/src/dialogs/FindInFilesDialog.ec
ide/src/dialogs/GlobalSettingsDialog.ec
ide/src/dialogs/NewProjectDialog.ec
ide/src/documents/PictureEdit.ec
ide/src/ide.ec
ide/src/panels/BreakpointsView.ec
ide/src/project/Project.ec
ide/src/project/ProjectConfig.ec
ide/src/project/ProjectNode.ec
ide/src/project/ProjectView.ec
ide/src/project/Workspace.ec
ide/src/project/vsSupport.ec

index 1327cc1..7ac3f45 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_AVLNode                (_64BIT ? 40 : 24)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -441,7 +443,7 @@ extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(st
 
 void __ecereRegisterModule_AVLTree(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::AVLTree", "ecere::com::CustomAVLTree<BT = ecere::com::AVLNode<AT>, KT = AT, T = AT, D = AT>", 0, 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index ec3fa81..9bcdbf5 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -623,7 +625,7 @@ extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__
 
 void __ecereRegisterModule_Array(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::com::Array", "ecere::com::Container", sizeof(struct __ecereNameSpace__ecere__com__Array), 0, 0, __ecereDestructor___ecereNameSpace__ecere__com__Array, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index b00f6c1..dd22cf9 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1140,7 +1142,7 @@ extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__
 
 void __ecereRegisterModule_BTNode(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::TreePrintStyle", 0, 0, 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index a08900e..95731a8 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -523,7 +525,7 @@ extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__
 
 void __ecereRegisterModule_BinaryTree(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::sys::BinaryTree", 0, sizeof(struct __ecereNameSpace__ecere__sys__BinaryTree), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 276f757..f295f2a 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance   (_64BIT ? 24 : 12)
 #define structSize_File       (_64BIT ? 40 : 20)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -865,7 +867,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_BufferedFile(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::BufferedFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__BufferedFile), 0, __ecereConstructor___ecereNameSpace__ecere__sys__BufferedFile, __ecereDestructor___ecereNameSpace__ecere__sys__BufferedFile, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 33334b1..da2cb6c 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -529,7 +531,7 @@ extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere
 
 void __ecereRegisterModule_BuiltInContainer(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::IteratorPointer", 0, 0, 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 562663c..d72a2a5 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -983,7 +985,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 }
 }
 };
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::Iterator", 0, sizeof(struct __ecereNameSpace__ecere__com__Iterator), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 7cc1389..c44dd25 100644 (file)
@@ -43,6 +43,8 @@ typedef unsigned __int64 uint64;
 #define _STR(x) #x
 #define _XSTR(x) _STR(x)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -397,8 +399,22 @@ if(!Tclass)
 Tclass = __ecereClass_uint64;
 while(0x1)
 {
-int result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&node->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&node->key), ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&this->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&this->key));
+int result;
+unsigned char * a, * b;
 
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1)
+{
+a = (unsigned char *)&node->key;
+b = (unsigned char *)&this->key;
+a += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+b += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+}
+else
+{
+a = (unsigned char *)*(uint64 *)(&node->key);
+b = (unsigned char *)*(uint64 *)(&this->key);
+}
+result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
 if(!result)
 {
 return 0x0;
@@ -460,8 +476,24 @@ struct __ecereNameSpace__ecere__com__AVLNode * __ecereMethod___ecereNameSpace__e
 {
 while(this)
 {
-int result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3) ? (((unsigned char *)&key) + __ENDIAN_PAD(Tclass->typeSize)) : (void *)key, ((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1) ? (((unsigned char *)&this->key) + __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize)) : (void *)*(uint64 *)(&this->key));
+int result;
+unsigned char * a, * b;
 
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3)
+{
+a = (unsigned char *)&key;
+a += __ENDIAN_PAD(Tclass->typeSize);
+}
+else
+a = (unsigned char *)key;
+if((Tclass->type == 1000 && !Tclass->byValueSystemClass) || Tclass->type == 2 || Tclass->type == 4 || Tclass->type == 3 || Tclass->type == 1)
+{
+b = (unsigned char *)&this->key;
+b += __ENDIAN_PAD((Tclass->type == 1) ? sizeof(void *) : Tclass->typeSize);
+}
+else
+b = (unsigned char *)*(uint64 *)(&this->key);
+result = ((int (*)(void *, void *, void *))(void *)Tclass->_vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
 if(result < 0)
 this = this->left;
 else if(result > 0)
@@ -937,7 +969,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 }
 }
 };
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::AVLNode", "ecere::com::IteratorPointer", sizeof(struct __ecereNameSpace__ecere__com__AVLNode), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index c8c12e1..1c71fa7 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -603,7 +605,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_DualPipe(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(2, "ecere::sys::PipeOpenMode", 0, 0, 0, 0, 0, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 071e3d1..269a130 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -329,7 +331,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -1395,7 +1397,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_File(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::sys::FileSize", "uint", 0, 0, 0, 0, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 8b41c60..edecdff 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_LinkElement            (_64BIT ? 16 : 8)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -631,7 +633,7 @@ struct __ecereNameSpace__ecere__com__ClassTemplateArgument __simpleStruct0 =
 }
 }
 };
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "ecere::com::LinkElement", 0, sizeof(struct __ecereNameSpace__ecere__com__LinkElement), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 3139032..985f1cb 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_Link                   (_64BIT ? 24 : 16)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -324,7 +326,7 @@ unsigned int __ecereMethod___ecereNameSpace__ecere__com__List_SetData(struct __e
 if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->type == 1)
 memcpy((void *)&link->data, (void *)value, ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].__anon1.__anon1.dataTypeClass->structSize);
 else
-link->data = value;
+link->data = ((uint64)(value));
 return 0x1;
 }
 
@@ -360,9 +362,9 @@ else
 link = __extension__ ({
 struct __ecereNameSpace__ecere__com__Link * __ecereInstance1 = __ecereNameSpace__ecere__com__eSystem_New0(structSize_Link);
 
-__ecereInstance1->data = value, __ecereInstance1;
+__ecereInstance1->data = ((uint64)(value)), __ecereInstance1;
 });
-((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * after, uint64 value))__ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert])(this, after, (void *)link);
+((struct __ecereNameSpace__ecere__com__IteratorPointer * (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * after, uint64 value))__ecereClass___ecereNameSpace__ecere__com__LinkList->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Insert])(this, after, (uint64)link);
 return link;
 }
 
@@ -404,7 +406,7 @@ struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
 })[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, link);
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, ((void * )(data))), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
@@ -416,20 +418,20 @@ void __ecereMethod___ecereNameSpace__ecere__com__List_Free(struct __ecereNameSpa
 {
 void * item;
 
-while((item = ((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)this + structSize_Instance)))->first))
+while((item = ((struct __ecereNameSpace__ecere__com__Link *)(((struct __ecereNameSpace__ecere__com__LinkList *)(((char *)this + structSize_Instance)))->first))))
 {
 uint64 data = ((uint64 (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * pointer))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, item);
+})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_GetData])(this, ((void *)(item)));
 
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, data), data = 0);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance * )(char * )this)->_class->templateArgs[2].__anon1.__anon1.dataTypeClass, ((void * )(data))), data = 0);
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))__extension__ ({
 struct __ecereNameSpace__ecere__com__Instance * __internal_ClassInst = this;
 
 __internal_ClassInst ? __internal_ClassInst->_vTbl : __ecereClass___ecereNameSpace__ecere__com__List->_vTbl;
-})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, item);
+})[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, ((void *)(item)));
 }
 }
 
@@ -496,7 +498,7 @@ extern void __ecereNameSpace__ecere__com__eClass_DoneAddingTemplateParameters(st
 
 void __ecereRegisterModule_List(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::Link", "ecere::com::ListItem", sizeof(struct __ecereNameSpace__ecere__com__Link), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index a38b89f..6a69405 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_MapNode                (_64BIT ? 48 : 32)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -882,7 +884,7 @@ extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__co
 
 void __ecereRegisterModule_Map(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::com::MapNode", "ecere::com::AVLNode<KT>", sizeof(struct __ecereNameSpace__ecere__com__MapNode), 0, 0, 0, module, 4, 2);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 0de9323..e5a284f 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -760,7 +762,7 @@ extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere
 
 void __ecereRegisterModule_OldList(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ecere::sys::Item", 0, sizeof(struct __ecereNameSpace__ecere__sys__Item), 0, 0, 0, module, 4, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 6ada104..fb85de0 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1494,7 +1496,7 @@ extern void __ecereNameSpace__ecere__com__eEnum_AddFixedValue(struct __ecereName
 
 void __ecereRegisterModule_String(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::DIR_SEP", "(GetRuntimePlatform() == win32) ? '\\\\' : '/'", module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::sys::DIR_SEPS", "(GetRuntimePlatform() == win32) ? \"\\\\\" : \"/\"", module, 4);
index 0a7ef6f..56af146 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_OldList                (_64BIT ? 32 : 20)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -330,7 +332,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -747,7 +749,7 @@ extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere
 
 void __ecereRegisterModule_System(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "ecere::sys::LoggingMode", 0, 0, 0, 0, 0, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 277561d..da6190e 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -592,7 +594,7 @@ extern struct __ecereNameSpace__ecere__com__Property * __ecereNameSpace__ecere__
 
 void __ecereRegisterModule_TempFile(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(0, "ecere::sys::TempFile", "ecere::sys::File", sizeof(struct __ecereNameSpace__ecere__sys__TempFile), 0, __ecereConstructor___ecereNameSpace__ecere__sys__TempFile, __ecereDestructor___ecereNameSpace__ecere__sys__TempFile, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index af5546b..ce1c3da 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -375,7 +377,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -3137,7 +3139,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_dataTypes(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXBYTE", "0xff", module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::MAXWORD", "0xffff", module, 4);
index 562ad57..36f8400 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1167,7 +1169,7 @@ return 0x1;
 
 void __ecereRegisterModule_ecere_main(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 392a32e..abfce55 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -680,7 +682,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_i18n(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::LoadTranslatedStrings", "void ecere::LoadTranslatedStrings(const String moduleName, const char * name)", __ecereNameSpace__ecere__LoadTranslatedStrings, module, 4);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::UnloadTranslatedStrings", "void ecere::UnloadTranslatedStrings(const String name)", __ecereNameSpace__ecere__UnloadTranslatedStrings, module, 4);
index 238ff17..506d7d3 100644 (file)
@@ -65,6 +65,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Property               (_64BIT ? 152 : 88)
 #define structSize_Class                  (_64BIT ? 624 : 376)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__sys__BTNode;
 
 struct __ecereNameSpace__ecere__sys__BTNode;
@@ -319,7 +321,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -6200,7 +6202,7 @@ int __ecereVMethodID___ecereNameSpace__ecere__com__ClassDesignerBase_CreateNew;
 
 void __ecereRegisterModule_instance(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterDefine("ecere::com::null", "((void *)0)", module, 4);
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(3, "ecere::com::Angle", "double", 0, 0, 0, 0, module, 4, 1);
index 180167a..6a32d8e 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -332,7 +334,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_memory(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::MoveBytes", "void ecere::sys::MoveBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__MoveBytes, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ecere::sys::CopyBytes", "void ecere::sys::CopyBytes(void * dest, const void * source, uint count)", __ecereNameSpace__ecere__sys__CopyBytes, module, 1);
index c77ca6c..091ab59 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_Module                 (_64BIT ? 560 : 300)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -570,7 +572,7 @@ struct __ecereNameSpace__ecere__sys__OldList _imports =
 
 struct __ecereNameSpace__ecere__sys__OldList _excludedSymbols =
 {
-0, 0, 0, (unsigned int)&((struct Symbol *)(void * )0)->left, 0
+0, 0, 0, (unsigned int)(uintptr_t)&((struct Symbol *)(void * )0)->left, 0
 };
 
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__NameSpace;
@@ -910,8 +912,6 @@ extern struct __ecereNameSpace__ecere__com__Class * __ecereNameSpace__ecere__com
 
 extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
-extern void MangleClassName(char *  className);
-
 extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__com__eClass_FindMethod(struct __ecereNameSpace__ecere__com__Class * _class, const char *  name, struct __ecereNameSpace__ecere__com__Instance * module);
 
 extern struct Context * SetupTemplatesContext(struct __ecereNameSpace__ecere__com__Class * _class);
@@ -963,7 +963,7 @@ if(f)
 {
 struct ModuleImport * module;
 struct ModuleInfo * defModule;
-unsigned int nonInst = 0x0, anyMethod = 0x0, anyProp = 0x0, anyFunction = 0x0;
+unsigned int anyMethod = 0x0, anyProp = 0x0, anyFunction = 0x0;
 struct ImportedModule * importedModule;
 
 __ecereNameSpace__ecere__sys__GetLastDirectory(fileName, mainModuleName);
@@ -1037,11 +1037,8 @@ char className[1024] = "";
 struct __ecereNameSpace__ecere__com__Class * regClass = __ecereNameSpace__ecere__com__eSystem_FindClass(privateModule, _class->name);
 
 FullClassNameCat(className, _class->name, 0x1);
-MangleClassName(className);
 if(_class->itself)
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "Class __ecereClass_%s;\n", className);
-else
-nonInst = 0x1;
 {
 {
 for(method = _class->methods.first; method; method = method->next)
@@ -1070,7 +1067,6 @@ char propName[1024];
 
 propName[0] = (char)0;
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 if((!strcmp(_class->name, "float") || !strcmp(_class->name, "double") || module->name) && module->importType != 1)
 {
 if(prop->hasSet)
@@ -1337,7 +1333,6 @@ char classID[1024];
 char className[1024] = "";
 
 FullClassNameCat(className, _class->name, 0x1);
-MangleClassName(className);
 if(_class->itself)
 sprintf(classID, "__ecereClass_%s", className);
 else
@@ -1368,7 +1363,6 @@ char propName[1024];
 
 propName[0] = (char)0;
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 __ecereMethod___ecereNameSpace__ecere__sys__File_Printf(f, "   __ecereProp_%s_%s = _property = eClass_FindProperty(%s, \"%s\", module);\n", className, propName, classID, prop->name);
 if((!strcmp(_class->name, "float") || !strcmp(_class->name, "double") || module->name) && module->importType != 1)
 {
@@ -1814,7 +1808,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
@@ -1850,7 +1843,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(param, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier(param->name)));
@@ -1986,7 +1978,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
@@ -2018,7 +2009,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
@@ -2152,7 +2142,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
@@ -2188,7 +2177,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(param, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier(param->name)));
@@ -2307,7 +2295,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 PrintType(method->dataType->__anon1.__anon2.returnType, type, 0x1, 0x1);
 decl = SpecDeclFromString(type, specs, MkDeclaratorIdentifier(MkIdentifier("__ecereResult")));
@@ -2340,7 +2327,6 @@ type[0] = (char)0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 if(param->kind == 8 && !strcmp(param->__anon1._class->string, "String"))
 {
@@ -2457,8 +2443,6 @@ extern struct __ecereNameSpace__ecere__com__Instance * __ecereNameSpace__ecere__
 
 extern void SetPrivateModule(struct __ecereNameSpace__ecere__com__Instance * module);
 
-extern const char *  GetSymbolsDir(void);
-
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__IteratorPointer;
 
 struct __ecereNameSpace__ecere__com__IteratorPointer;
@@ -2694,7 +2678,6 @@ mainModule = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_ModuleImpo
 SetMainModule(mainModule);
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Add(&_imports, mainModule);
 {
-const char * symbolsDir = GetSymbolsDir();
 struct __ecereNameSpace__ecere__com__Instance * intlStrings = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass___ecereNameSpace__ecere__com__Map_TPL_ContextStringPair__ecere__com__List_TPL_String___);
 struct __ecereNameSpace__ecere__com__MapIterator it = (it.container = (void *)0, it.pointer = (void *)0, __ecereProp___ecereNameSpace__ecere__com__MapIterator_Set_map(&it, intlStrings), it);
 
@@ -3124,7 +3107,7 @@ extern struct __ecereNameSpace__ecere__com__Method * __ecereNameSpace__ecere__co
 
 void __ecereRegisterModule_ecs(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(5, "ModuleInfo", 0, sizeof(struct ModuleInfo), 0, 0, 0, module, 2, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 6d84c80..240d3ce 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_Module                 (_64BIT ? 560 : 300)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -748,7 +750,7 @@ return exitCode;
 
 void __ecereRegisterModule_ecs_main(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 86706aa..2654293 100644 (file)
@@ -30,7 +30,7 @@ int fputc(int c, FILE *stream);
 size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);
 size_t fwrite(const  void  *ptr,  size_t  size,  size_t  nmemb, FILE *stream);
 
-int vsnprintf (char*, size_t, const char*, ...);
+int vsnprintf(char*, size_t, const char*, va_list args);
 int snprintf(char *str, size_t, const char *format, ...);
 
 int fseek(FILE *stream, long offset, int whence);
index 9905c6f..624ff9b 100644 (file)
@@ -42,6 +42,8 @@ typedef unsigned __int64 uint64;
 #define structSize_OldLink                (_64BIT ? 24 : 12)
 #define structSize_NamedLink              (_64BIT ? 32 : 16)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -2973,7 +2975,6 @@ return external;
 struct External * MkExternalDeclaration(struct Declaration * declaration)
 {
 struct External * external = (external = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_External), external->type = 1, external->__anon1.declaration = declaration, external->symbol = declaration ? declaration->symbol : (((void *)0)), external);
-struct InitDeclarator * d = (declaration && declaration->__anon1.__anon1.declarators) ? (*declaration->__anon1.__anon1.declarators).last : (((void *)0));
 
 if(declaration && declaration->type == 1 && declaration->__anon1.__anon1.specifiers)
 {
@@ -4050,8 +4051,6 @@ struct ExtDecl * extDecl = spec->__anon1.__anon1.extDecl;
 
 if(extDecl->type == 0)
 {
-char * s = spec->__anon1.__anon1.extDecl->__anon1.s;
-
 if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__declspec(dllexport)") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "dllexport"))
 specType->dllExport = 0x1;
 else if(!strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "__declspec(stdcall)") || !strcmp(spec->__anon1.__anon1.extDecl->__anon1.s, "stdcall"))
@@ -4205,7 +4204,6 @@ specType->__anon1.__anon1.enumName = spec->__anon1.__anon2.id ? __ecereNameSpace
 if(spec->__anon1.__anon2.list)
 {
 struct Enumerator * e;
-int nextValue = 0;
 
 for(e = (*spec->__anon1.__anon2.list).first; e; e = e->next)
 {
@@ -4797,8 +4795,6 @@ extern struct External * curExternal;
 
 extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
-extern void MangleClassName(char *  className);
-
 extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
 struct Expression * GetTemplateArgExpByName(const char * paramName, struct __ecereNameSpace__ecere__com__Class * curClass, int tplType)
@@ -4834,12 +4830,10 @@ if(curParam)
 {
 char idString[32];
 char className[1024];
-struct Expression * classExp;
 
 sprintf(idString, "%d", id);
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
 DeclareClass(FindClass(_class->fullName), className);
 argExp = MkExpIndex((MkExpMember)(MkExpMember(MkExpIdentifier(MkIdentifier("this")), MkIdentifier("_class")), MkIdentifier("templateArgs")), MkListOne(MkExpConstant(idString)));
 }
@@ -4996,7 +4990,7 @@ extern struct __ecereNameSpace__ecere__com__DataMember * __ecereNameSpace__ecere
 
 void __ecereRegisterModule_ast(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetDefaultNameSpace", "void SetDefaultNameSpace(const char * s)", SetDefaultNameSpace, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetStrictNameSpaces", "void SetStrictNameSpaces(bool b)", SetStrictNameSpaces, module, 1);
index 6696076..c36c541 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1586,7 +1588,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_copy(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CopyIdentifier", "Identifier CopyIdentifier(Identifier id)", CopyIdentifier, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("CopyExpContents", "Expression CopyExpContents(Expression exp)", CopyExpContents, module, 2);
index aa60537..78c2f68 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -2316,7 +2318,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_dbpass(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessDBTableDefinitions", "void ProcessDBTableDefinitions(void)", ProcessDBTableDefinitions, module, 1);
 }
index 3404017..210fd5c 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -996,7 +998,7 @@ return 0x1;
 
 void __ecereRegisterModule_ec_main(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 8cab045..2887094 100644 (file)
@@ -47,6 +47,8 @@ typedef unsigned __int64 uint64;
 #define structSize_ExpMember              (_64BIT ? 24 : 16)
 #define structSize_OpTable                (_64BIT ? 280 : 140)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1007,7 +1009,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -2036,7 +2038,7 @@ extern struct __ecereNameSpace__ecere__com__DefinedExpression * __ecereNameSpace
 
 void __ecereRegisterModule_ecdefs(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(4, "TokenType", 0, 0, 0, 0, 0, module, 1, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index f33954e..3222b0a 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1065,7 +1067,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -4981,7 +4983,7 @@ return (yyresult);
 
 void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 4bb5279..18a377c 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1041,8 +1043,6 @@ extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
 
 extern void __ecereNameSpace__ecere__com__eProperty_Watchable(struct __ecereNameSpace__ecere__com__Property * _property);
 
-extern int printf(const char * , ...);
-
 extern struct __ecereNameSpace__ecere__com__Class * __ecereClass___ecereNameSpace__ecere__com__ClassProperty;
 
 struct __ecereNameSpace__ecere__com__ClassProperty;
@@ -1265,8 +1265,6 @@ propertyDef->category = (((void *)0));
 if(propertyDef->__anon1.isWatchable)
 __ecereNameSpace__ecere__com__eProperty_Watchable(prop);
 }
-else
-printf("");
 propertyDef->symbol->__anon1._property = prop;
 if(propertyDef->symbol->type)
 propertyDef->symbol->type->refCount++;
@@ -1274,10 +1272,9 @@ propertyDef->symbol->type->refCount++;
 else if(def->type == 10 && def->__anon1.propertyDef)
 {
 struct PropertyDef * propertyDef = def->__anon1.propertyDef;
-struct __ecereNameSpace__ecere__com__ClassProperty * prop;
 char * dataTypeString = StringFromSpecDecl(propertyDef->specifiers, propertyDef->declarator);
 
-prop = __ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)));
+__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, propertyDef->id->string, dataTypeString, inCompiler ? propertyDef->setStmt : (((void *)0)), inCompiler ? propertyDef->getStmt : (((void *)0)));
 (__ecereNameSpace__ecere__com__eSystem_Delete(dataTypeString), dataTypeString = 0);
 }
 }
@@ -1637,7 +1634,7 @@ break;
 }
 if(param->type == 1)
 {
-__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)param->__anon1.memberType, &defaultArg);
+__ecereNameSpace__ecere__com__eClass_AddTemplateParameter(regClass, param->identifier->string, 1, (void *)(uintptr_t)param->__anon1.memberType, &defaultArg);
 }
 else
 {
@@ -1810,7 +1807,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_firstPass(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PrePreProcessClassDefinitions", "void PrePreProcessClassDefinitions(void)", PrePreProcessClassDefinitions, module, 1);
 }
index e94f860..6db0369 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_Module                 (_64BIT ? 560 : 300)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1956,7 +1958,7 @@ FreeExpression(stmt->__anon1._watch.watcher);
 if(stmt->__anon1._watch.object)
 FreeExpression(stmt->__anon1._watch.object);
 if(stmt->__anon1._watch.watches)
-FreeList(stmt->__anon1._watch.watches, (stmt->type == 17) ? FreePropertyWatch : FreeIdentifier);
+FreeList(stmt->__anon1._watch.watches, (stmt->type == 17) ? (void *)FreePropertyWatch : (void *)FreeIdentifier);
 break;
 }
 }
@@ -2741,7 +2743,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_freeAst(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __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);
index 881072c..b3e7f13 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1209,7 +1211,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -5066,7 +5068,7 @@ yyval.context = PushContext();
 break;
 case 236:
 {
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
 FreeIdentifier(yyvsp[(2) - (2)].id);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
@@ -5076,7 +5078,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 237:
 {
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
@@ -5087,7 +5089,7 @@ memberAccessStack[defaultMemberAccess] = 2;
 break;
 case 238:
 {
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (3)].id->string);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 FreeIdentifier(yyvsp[(3) - (3)].id);
@@ -5099,7 +5101,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 239:
 {
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
@@ -5111,7 +5113,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 240:
 {
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 FreeIdentifier(yyvsp[(2) - (5)].id);
@@ -5122,7 +5124,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 241:
 {
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
@@ -5134,7 +5136,7 @@ memberAccessStack[defaultMemberAccess] = 2;
 break;
 case 242:
 {
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
@@ -5147,7 +5149,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 243:
 {
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
@@ -5205,7 +5207,7 @@ PopContext(curContext);
 break;
 case 248:
 {
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
 yyval._class = MkClass(DeclClassAddNameSpace(0, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
 FreeIdentifier(yyvsp[(2) - (3)].id);
 if(defaultMemberAccess > -1)
@@ -5216,7 +5218,7 @@ PopContext(curContext);
 break;
 case 249:
 {
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
 yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (3)].specifier);
 if(defaultMemberAccess > -1)
@@ -12730,7 +12732,7 @@ return (yyresult);
 
 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 086f925..ce0288b 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -443,7 +445,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -727,8 +729,6 @@ int include_stack_ptr = 0;
 
 extern int yywrap(void);
 
-static void yyunput(int c, char * buf_ptr);
-
 static int input(void);
 
 int commentCPP();
@@ -2127,31 +2127,6 @@ yy_is_jam = (yy_current_state == 719);
 return yy_is_jam ? 0 : yy_current_state;
 }
 
-static void yyunput(int c, register char * yy_bp)
-{
-register char * yy_cp = yy_c_buf_p;
-
-*yy_cp = yy_hold_char;
-if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
-{
-register int number_to_move = yy_n_chars + 2;
-register char * dest = &(*yy_current_buffer).yy_ch_buf[(*yy_current_buffer).yy_buf_size + 2];
-register char * source = &(*yy_current_buffer).yy_ch_buf[number_to_move];
-
-while(source > (*yy_current_buffer).yy_ch_buf)
-*--dest = *--source;
-yy_cp += (int)(dest - source);
-yy_bp += (int)(dest - source);
-(*yy_current_buffer).yy_n_chars = yy_n_chars = (*yy_current_buffer).yy_buf_size;
-if(yy_cp < (*yy_current_buffer).yy_ch_buf + 2)
-yy_fatal_error("flex scanner push-back overflow");
-}
-*--yy_cp = (char)c;
-yytext = yy_bp;
-yy_hold_char = *yy_cp;
-yy_c_buf_p = yy_cp;
-}
-
 static int input()
 {
 int c;
@@ -2343,7 +2318,7 @@ static void yy_flex_free(void * ptr)
 free(ptr);
 }
 
-yywrap()
+int yywrap()
 {
 return (1);
 }
@@ -2383,7 +2358,7 @@ return 0;
 
 int commentCPP()
 {
-int c, last = 0;
+int c;
 
 for(; ; )
 {
@@ -2407,7 +2382,6 @@ else
 yylloc.end.charPos++;
 yylloc.end.pos++;
 }
-last = c;
 }
 yylloc.start = yylloc.end;
 return 0;
@@ -2576,8 +2550,6 @@ fileInput = file;
 yy_switch_to_buffer(yy_create_buffer(fileInput, 16384));
 yy_start = 1 + 2 * (0);
 }
-else
-printf("");
 }
 }
 return 0;
@@ -2761,7 +2733,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_lexer(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 class = __ecereNameSpace__ecere__com__eSystem_RegisterClass(1, "yy_buffer_state", 0, sizeof(struct yy_buffer_state), 0, 0, 0, module, 2, 1);
 if(((struct __ecereNameSpace__ecere__com__Module *)(((char *)module + structSize_Instance)))->application == ((struct __ecereNameSpace__ecere__com__Module *)(((char *)__thisModule + structSize_Instance)))->application && class)
index 38a7881..25f64b3 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1255,7 +1257,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof (line))
 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
 if(regClass)
 {
-struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)setStmt, (void *)getStmt, memberAccess);
+struct __ecereNameSpace__ecere__com__Property * prop = __ecereNameSpace__ecere__com__eClass_AddProperty(regClass, conversion ? (((void *)0)) : name, line[0] ? line : 0, (void *)(uintptr_t)setStmt, (void *)(uintptr_t)getStmt, memberAccess);
 
 if(prop)
 {
@@ -1312,7 +1314,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__File_GetLine(f, line, sizeof (line))
 __ecereNameSpace__ecere__sys__TrimLSpaces(line, line);
 if(regClass)
 {
-__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)setStmt, (void *)getStmt);
+__ecereNameSpace__ecere__com__eClass_AddClassProperty(regClass, name, line, (void *)(uintptr_t)setStmt, (void *)(uintptr_t)getStmt);
 }
 }
 else if(!strcmp(line, "[Set]"))
@@ -2042,7 +2044,7 @@ __ecereMethod___ecereNameSpace__ecere__sys__OldList_Free(&dataRedefinitions, (((
 
 void __ecereRegisterModule_loadSymbols(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetGlobalData", "void SetGlobalData(ecere::com::NameSpace * nameSpace)", SetGlobalData, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetInIDE", "void SetInIDE(bool b)", SetInIDE, module, 1);
index 9b557d6..0fcf3a9 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -3914,7 +3916,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_output(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetMemoryGuard", "void SetMemoryGuard(bool b)", SetMemoryGuard, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetMemoryGuard", "bool GetMemoryGuard(void)", GetMemoryGuard, module, 1);
index a2ab238..1c17013 100644 (file)
@@ -41,6 +41,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Instance               (_64BIT ? 24 : 12)
 #define structSize_Module                 (_64BIT ? 560 : 300)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1097,67 +1099,12 @@ extern struct Location yylloc;
 
 extern struct External * curExternal;
 
-extern int strncmp(const char * , const char * , size_t n);
-
-void MangleClassName(char * className)
-{
-char output[1024];
-int c, d = 0;
-char ch;
-
-c = 0;
-if(!strncmp(className, "const ", 6))
-c += 6;
-for(; (ch = className[c]); c++)
-{
-if(ch == ' ')
-output[d++] = '_';
-else if(ch == '*')
-{
-output[d++] = '_';
-output[d++] = 'P';
-output[d++] = 'T';
-output[d++] = 'R';
-output[d++] = '_';
-}
-else if(ch == '<')
-{
-if(!strncmp(className + c + 1, "const ", 6))
-c += 6;
-output[d++] = '_';
-output[d++] = 'T';
-output[d++] = 'P';
-output[d++] = 'L';
-output[d++] = '_';
-}
-else if(ch == '=')
-{
-output[d++] = '_';
-output[d++] = 'E';
-output[d++] = 'Q';
-output[d++] = 'U';
-output[d++] = '_';
-}
-else if(ch == '>')
-{
-output[d++] = '_';
-}
-else if(ch == ',')
-{
-if(!strncmp(className + c + 1, "const ", 6))
-c += 6;
-output[d++] = '_';
-}
-else
-output[d++] = ch;
-}
-output[d] = (char)0;
-}
-
 extern char *  strcat(char * , const char * );
 
 extern size_t strlen(const char * );
 
+extern int strncmp(const char * , const char * , size_t n);
+
 void FullClassNameCat(char * output, const char * className, unsigned int includeTemplateParams)
 {
 int c;
@@ -1424,8 +1371,6 @@ CheckPublicTypeName(exp->__anon1.typeName, access);
 break;
 case 11:
 {
-struct Type * type = exp->expType;
-
 CheckPublicTypeName(exp->__anon1.cast.typeName, access);
 if(exp->__anon1.cast.exp)
 CheckPublicExpression(exp->__anon1.cast.exp, access);
@@ -1773,7 +1718,6 @@ char constructorName[1024];
 char destructorName[1024];
 struct __ecereNameSpace__ecere__com__Class * regClass;
 struct ClassFunction * destructor = (((void *)0)), * constructor = (((void *)0));
-unsigned int redefinition = 0x0;
 unsigned int isUnion = classType == 6;
 struct External * external = (((void *)0));
 struct ClassDef * def;
@@ -1857,10 +1801,12 @@ CheckMembersDefinitions(regClass, (((void *)0)), definitions, 2);
 }
 for(def = definitions->first; def; def = def->next)
 {
+yylloc = def->loc;
 if(def->type == 2)
 {
 struct Declaration * decl = def->__anon1.decl;
 
+yylloc = decl->loc;
 if(decl->type == 0)
 {
 if(inCompiler && classType != 2)
@@ -2030,7 +1976,6 @@ struct __ecereNameSpace__ecere__sys__OldList * specs = MkList(), * declarators =
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, symbol->string, 0x1);
-MangleClassName(className);
 symbol->className = __ecereNameSpace__ecere__sys__CopyString(className);
 if(!strstr(sourceFile, ".main.ec"))
 ListAdd(specs, MkSpecifier(STATIC));
@@ -2245,7 +2190,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_Get_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
 params = MkList();
 if(propertyDef->symbol->type && propertyDef->symbol->type->kind == 8 && propertyDef->symbol->type->__anon1._class && propertyDef->symbol->type->__anon1._class->__anon1.registered && propertyDef->symbol->type->__anon1._class->__anon1.registered->type == 1)
 {
@@ -2278,7 +2222,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_Set_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
 params = MkList();
 ListAdd(params, MkTypeName(CopyList(propertyDef->specifiers, CopySpecifier), PlugDeclarator(propertyDef->declarator, MkDeclaratorIdentifier(MkIdentifier("value")))));
 if(propertyDef->__anon1.isDBProp)
@@ -2337,7 +2280,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_IsSet_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
 params = MkList();
 decl = MkDeclaratorFunction(MkDeclaratorIdentifier(MkIdentifier(name)), params);
 ListAdd(specifiers, MkSpecifierName("bool"));
@@ -2367,7 +2309,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 
@@ -2376,7 +2317,6 @@ strcpy(name, "__ecerePropM_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_");
 FullClassNameCat(name, propertyDef->id->string, 0x1);
-MangleClassName(name);
 ListAdd(list, MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier(name)), (((void *)0))));
 decl = MkDeclaration(specifiers, list);
 }
@@ -2419,7 +2359,6 @@ sprintf(name, "class::__ecereClassProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_Get_");
 strcat(name, propertyDef->id->string);
-MangleClassName(name);
 params = MkList();
 declId = MkDeclaratorIdentifier(MkIdentifier(name));
 {
@@ -2455,7 +2394,6 @@ strcpy(name, "class::__ecereClassProp_");
 FullClassNameCat(name, symbol->string, 0x0);
 strcat(name, "_Set_");
 strcat(name, propertyDef->id->string);
-MangleClassName(name);
 params = MkList();
 prevCurContext = curContext;
 curContext = body->__anon1.compound.context;
@@ -2632,9 +2570,8 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_pass0(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
-__ecereNameSpace__ecere__com__eSystem_RegisterFunction("MangleClassName", "void MangleClassName(char * className)", MangleClassName, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("FullClassNameCat", "void FullClassNameCat(char * output, const char * className, bool includeTemplateParams)", FullClassNameCat, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PreProcessClassDefinitions", "void PreProcessClassDefinitions(void)", PreProcessClassDefinitions, module, 1);
 }
index dddc017..09c9533 100644 (file)
@@ -40,6 +40,8 @@ typedef unsigned __int64 uint64;
 #define arch_PointerSize                  sizeof(void *)
 #define structSize_Instance               (_64BIT ? 24 : 12)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1382,6 +1384,16 @@ extern struct Declarator * MkDeclaratorIdentifier(struct Identifier * id);
 
 extern struct Identifier * MkIdentifier(const char *  string);
 
+extern struct Specifier * MkSpecifierExtended(struct ExtDecl * extDecl);
+
+extern struct ExtDecl * MkExtDeclAttrib(struct Attrib * attr);
+
+extern struct Attrib * MkAttrib(int type, struct __ecereNameSpace__ecere__sys__OldList *  attribs);
+
+extern struct Attribute * MkAttribute(char * attr, struct Expression * exp);
+
+extern char *  __ecereNameSpace__ecere__sys__CopyString(const char *  string);
+
 extern struct TypeName * MkTypeName(struct __ecereNameSpace__ecere__sys__OldList * qualifiers, struct Declarator * declarator);
 
 extern char *  __ecereNameSpace__ecere__sys__GetLastDirectory(const char *  string, char *  output);
@@ -1415,7 +1427,8 @@ struct Context * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(
 
 __ecereInstance1->parent = globalContext, __ecereInstance1;
 });
-ListAdd(registerModuleBody->__anon1.compound.declarations, MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
+ListAdd(registerModuleBody->__anon1.compound.declarations, MkDeclaration((specifiers = MkListOne(MkSpecifierName("ecere::com::Class"))), MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), (((void *)0))))));
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Add((&*specifiers), MkSpecifierExtended(MkExtDeclAttrib(MkAttrib(ATTRIB, MkListOne(MkAttribute(__ecereNameSpace__ecere__sys__CopyString("unused"), (((void *)0))))))));
 specifiers = MkList();
 ListAdd(specifiers, MkSpecifier(VOID));
 moduleParam = MkTypeName(MkListOne(MkSpecifierName("Module")), MkDeclaratorIdentifier(MkIdentifier("module")));
@@ -1481,8 +1494,6 @@ extern void FullClassNameCat(char *  output, const char *  className, unsigned i
 
 extern char *  strcat(char * , const char * );
 
-extern void MangleClassName(char *  className);
-
 extern struct Statement * MkExpressionStmt(struct __ecereNameSpace__ecere__sys__OldList * expressions);
 
 extern struct Expression * MkExpOp(struct Expression * exp1, int op, struct Expression * exp2);
@@ -1591,7 +1602,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_Set_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -1602,7 +1612,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_Get_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -1624,7 +1633,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=', MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args))));
 ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
@@ -1654,7 +1662,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_Set_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -1665,7 +1672,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_Get_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -1687,12 +1693,10 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x0);
 strcat(name, "_");
 FullClassNameCat(name, prop->name, 0x1);
-MangleClassName(name);
 strcpy(nameM, "__ecerePropM_");
 FullClassNameCat(nameM, regClass->fullName, 0x0);
 strcat(nameM, "_");
 FullClassNameCat(nameM, prop->name, 0x1);
-MangleClassName(nameM);
 if(prop->dataTypeString)
 {
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpIdentifier(MkIdentifier(nameM)), '=', MkExpCall(MkExpIdentifier(MkIdentifier("eClass_AddProperty")), args))));
@@ -1710,7 +1714,6 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x1);
 strcat(name, "_IsSet_");
 FullClassNameCat(name, prop->name, 0x0);
-MangleClassName(name);
 stmt = MkExpressionStmt(MkListOne(MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier(nameM)), MkIdentifier("IsSet")), '=', MkExpCast(MkTypeName(MkListOne(MkSpecifier(VOID)), MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), (((void *)0)))), MkExpIdentifier(MkIdentifier(name))))));
 ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
 }
@@ -1920,12 +1923,10 @@ strcpy(name, "__ecereProp_");
 FullClassNameCat(name, regClass->fullName, 0x1);
 strcat(name, "_");
 FullClassNameCat(name, prop->name, 0x0);
-MangleClassName(name);
 strcpy(nameM, "__ecerePropM_");
 FullClassNameCat(nameM, regClass->fullName, 0x1);
 strcat(nameM, "_");
 FullClassNameCat(nameM, prop->name, 0x0);
-MangleClassName(nameM);
 args = MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier(nameM)), MkListOne(MkExpIdentifier(MkIdentifier(nameM))), MkExpIdentifier(MkIdentifier(name))));
 stmt = MkExpressionStmt(MkListOne(MkExpCall(MkExpIdentifier(MkIdentifier("eProperty_Watchable")), args)));
 ListAdd(registerModuleBody->__anon1.compound.statements, stmt);
@@ -1952,7 +1953,6 @@ strcpy(name, "__ecereClassProp_");
 FullClassNameCat(name, regClass->fullName, 0x1);
 strcat(name, "_Set_");
 strcat(name, classProperty->name);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -1963,7 +1963,6 @@ strcpy(name, "__ecereClassProp_");
 FullClassNameCat(name, regClass->fullName, 0x1);
 strcat(name, "_Get_");
 strcat(name, classProperty->name);
-MangleClassName(name);
 ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
 }
 else
@@ -3183,7 +3182,7 @@ extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
 void __ecereRegisterModule_pass1(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetBuildingEcereCom", "void SetBuildingEcereCom(bool b)", SetBuildingEcereCom, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetBuildingEcereCom", "bool GetBuildingEcereCom(void)", GetBuildingEcereCom, module, 1);
index 59dfb28..8bc51c0 100644 (file)
@@ -42,6 +42,8 @@ typedef unsigned __int64 uint64;
 #define structSize_Module                 (_64BIT ? 560 : 300)
 #define structSize_NamedLink              (_64BIT ? 32 : 16)
 
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -3166,8 +3168,6 @@ extern struct External * MkExternalDeclaration(struct Declaration * declaration)
 
 extern struct Declaration * MkDeclaration(struct __ecereNameSpace__ecere__sys__OldList * specifiers, struct __ecereNameSpace__ecere__sys__OldList * initDeclarators);
 
-extern void MangleClassName(char *  className);
-
 extern void DeclareClass(struct Symbol * classSym, const char *  className);
 
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Move(struct __ecereNameSpace__ecere__sys__OldList * this, void *  item, void *  prevItem);
@@ -3257,7 +3257,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 external->symbol = classSym;
 classSym->__anon2.__anon1.pointerExternal = external;
@@ -3270,7 +3269,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 classSym->__anon2.__anon1.structExternal = external;
 DeclareClass(classSym, className);
 external->symbol = classSym;
@@ -3349,12 +3347,10 @@ strcpy(setName, "__ecereProp_");
 FullClassNameCat(setName, prop->_class->fullName, 0x0);
 strcat(setName, "_Set_");
 FullClassNameCat(setName, prop->name, 0x1);
-MangleClassName(setName);
 strcpy(getName, "__ecereProp_");
 FullClassNameCat(getName, prop->_class->fullName, 0x0);
 strcat(getName, "_Get_");
 FullClassNameCat(getName, prop->name, 0x1);
-MangleClassName(getName);
 if(prop->_class->type == 1)
 DeclareStruct(prop->_class->fullName, 0x0);
 if(!symbol || curExternal->symbol->idCode < symbol->id)
@@ -3562,7 +3558,6 @@ strcpy(propName, "__ecereProp_");
 FullClassNameCat(propName, prop->_class->fullName, 0x0);
 strcat(propName, "_");
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 {
 struct __ecereNameSpace__ecere__sys__OldList * list = MkList();
 
@@ -3573,7 +3568,6 @@ strcpy(propName, "__ecerePropM_");
 FullClassNameCat(propName, prop->_class->fullName, 0x0);
 strcat(propName, "_");
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 ListAdd(list, MkInitDeclarator(MkDeclaratorPointer(MkPointer((((void *)0)), (((void *)0))), MkDeclaratorIdentifier(MkIdentifier(propName))), (((void *)0))));
 }
 decl = MkDeclaration(specifiers, list);
@@ -3814,7 +3808,6 @@ if(type && type->kind == 8 && type->__anon1._class && type->__anon1._class->__an
 {
 struct __ecereNameSpace__ecere__com__Class * expClass = type->__anon1._class->__anon1.registered;
 struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
 int paramCount = 0;
 int lastParam = -1;
 char templateString[1024];
@@ -4392,7 +4385,6 @@ struct Symbol * symbol = method->symbol;
 
 if(!symbol || (!symbol->__anon2.__anon1.pointerExternal && method->type == 1) || symbol->id > (curExternal ? curExternal->symbol->idCode : -1))
 {
-unsigned int imported = 0x0;
 unsigned int dllImport = 0x0;
 
 if(!method->dataType)
@@ -4443,7 +4435,6 @@ symbol->type->refCount++;
 }
 if(!method->dataType->dllExport)
 {
-imported = 0x1;
 if((method->_class->module != privateModule || !strcmp(method->_class->name, "float") || !strcmp(method->_class->name, "double")) && ((struct __ecereNameSpace__ecere__com__Module *)(((char *)method->_class->module + structSize_Instance)))->importType != 1)
 dllImport = 0x1;
 }
@@ -11332,7 +11323,6 @@ struct Identifier * ident = member->identifiers ? (*member->identifiers).first :
 unsigned int found = 0x0;
 struct __ecereNameSpace__ecere__com__Property * prop = (((void *)0));
 struct __ecereNameSpace__ecere__com__DataMember * dataMember = (((void *)0));
-struct __ecereNameSpace__ecere__com__Method * method = (((void *)0));
 unsigned int dataMemberOffset;
 
 if(!ident)
@@ -11669,7 +11659,7 @@ case 2:
 {
 unsigned short v;
 
-type->isSigned ? GetShort(value, &v) : GetUShort(value, &v);
+type->isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v);
 part = (uint64)v;
 break;
 }
@@ -11678,7 +11668,7 @@ case 5:
 {
 unsigned int v;
 
-type->isSigned ? GetInt(value, &v) : GetUInt(value, &v);
+type->isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v);
 part = (uint64)v;
 break;
 }
@@ -11686,7 +11676,7 @@ case 4:
 {
 uint64 v;
 
-type->isSigned ? GetInt64(value, &v) : GetUInt64(value, &v);
+type->isSigned ? GetInt64(value, (long long *)&v) : GetUInt64(value, &v);
 part = v;
 break;
 }
@@ -11694,7 +11684,7 @@ case 22:
 {
 uintptr_t v;
 
-type->isSigned ? GetIntPtr(value, &v) : GetUIntPtr(value, &v);
+type->isSigned ? GetIntPtr(value, (intptr_t *)&v) : GetUIntPtr(value, &v);
 part = (uint64)v;
 break;
 }
@@ -11702,7 +11692,7 @@ case 23:
 {
 size_t v;
 
-type->isSigned ? GetIntSize(value, &v) : GetUIntSize(value, &v);
+type->isSigned ? GetIntSize(value, (ssize_t *)&v) : GetUIntSize(value, &v);
 part = (uint64)v;
 break;
 }
@@ -11776,11 +11766,11 @@ result = isSigned ? GetOpInt(op, &op->__anon1.i) : GetOpUInt(op, &op->__anon1.ui
 break;
 case 22:
 if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 5 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpIntPtr(op, &op->__anon1.i64) : GetOpUIntPtr(op, &op->__anon1.i64);
+result = isSigned ? GetOpIntPtr(op, &op->__anon1.i64) : GetOpUIntPtr(op, &op->__anon1.ui64);
 break;
 case 23:
 if(op->kind == 1 || op->kind == 2 || op->kind == 3 || op->kind == 5 || op->kind == 15 || op->kind == 24)
-result = isSigned ? GetOpIntSize(op, &op->__anon1.ui64) : GetOpUIntSize(op, &op->__anon1.ui64);
+result = isSigned ? GetOpIntSize(op, &op->__anon1.i64) : GetOpUIntSize(op, &op->__anon1.ui64);
 break;
 }
 return result;
@@ -12408,7 +12398,7 @@ break;
 }
 else if(_class->type == 1)
 {
-char * value = (exp->__anon1.member.exp->type == 1) ? exp->__anon1.member.exp->__anon1.instance->data : (((void *)0));
+unsigned char * value = (exp->__anon1.member.exp->type == 1) ? exp->__anon1.member.exp->__anon1.instance->data : (((void *)0));
 
 switch(type->kind)
 {
@@ -12479,7 +12469,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 FreeExpContents(exp);
 exp->type = 9;
@@ -12933,7 +12922,6 @@ break;
 else if(exp->expType && exp->expType->passAsTemplate && exp->destType && ((unsigned int)((exp->usage & 0x1) >> 0)) && exp->destType->kind != 20 && !exp->destType->passAsTemplate)
 {
 struct Expression * newExp = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Expression);
-struct Statement * compound;
 struct Context * context;
 
 *newExp = *exp;
@@ -13382,8 +13370,6 @@ static void PrePrintType(struct Type * type, char * string, unsigned int fullNam
 {
 if(type->kind == 12 || type->kind == 13 || type->kind == 11 || type->kind == 16)
 {
-struct Type * attrType = (((void *)0));
-
 if((type->kind == 11 || type->kind == 16) && (!parentType || parentType->kind != 13))
 PrintAttribs(type, string);
 if(printConst && type->constant && (type->kind == 11 || type->kind == 16))
@@ -14106,6 +14092,10 @@ extern char *  __ecereNameSpace__ecere__com__PrintString(struct __ecereNameSpace
 
 extern const char *  sourceFile;
 
+unsigned int __ecereProp_Type_Get_specConst(struct Type * this);
+
+extern struct __ecereNameSpace__ecere__com__Property ** __ecereProp_Type_specConst;
+
 void __ecereMethod___ecereNameSpace__ecere__sys__OldList_Clear(struct __ecereNameSpace__ecere__sys__OldList * this);
 
 void ProcessExpressionType(struct Expression * exp)
@@ -14363,8 +14353,6 @@ break;
 }
 case 1:
 {
-struct __ecereNameSpace__ecere__com__Class * _class;
-
 if(!exp->__anon1.instance->_class)
 {
 if(exp->destType && exp->destType->kind == 8 && exp->destType->__anon1._class)
@@ -15888,12 +15876,8 @@ FreeType(functionType);
 if(exp->__anon1.call.arguments)
 {
 for(e = (*exp->__anon1.call.arguments).first; e; e = e->next)
-{
-struct Type * destType = e->destType;
-
 ProcessExpressionType(e);
 }
-}
 break;
 }
 case 8:
@@ -15958,9 +15942,6 @@ char * colon = strstr(param->defaultArg.__anon1.__anon2.memberString, "::");
 
 if(colon)
 {
-char className[1024];
-struct __ecereNameSpace__ecere__com__Class * sClass;
-
 memcpy(thisClassTypeString, param->defaultArg.__anon1.__anon2.memberString, colon - param->defaultArg.__anon1.__anon2.memberString);
 thisClassTypeString[colon - param->defaultArg.__anon1.__anon2.memberString] = '\0';
 }
@@ -15973,7 +15954,6 @@ if(exp->expType->kind == 8 && exp->expType->__anon1._class && exp->expType->__an
 {
 struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->__anon1._class->__anon1.registered;
 struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
 int paramCount = 0;
 int lastParam = -1;
 char templateString[1024];
@@ -16481,7 +16461,6 @@ struct __ecereNameSpace__ecere__com__Class * expClass = exp->expType->__anon1._c
 if(expClass)
 {
 struct __ecereNameSpace__ecere__com__Class * cClass = (((void *)0));
-int c;
 int p = 0;
 int paramCount = 0;
 int lastParam = -1;
@@ -16499,7 +16478,6 @@ cClass = sClass;
 for(param = cClass->templateParams.first; param; param = param->next)
 {
 struct __ecereNameSpace__ecere__com__Class * cClassCur = (((void *)0));
-int c;
 int cp = 0;
 struct __ecereNameSpace__ecere__com__ClassTemplateParameter * paramCur = (((void *)0));
 struct __ecereNameSpace__ecere__com__ClassTemplateArgument arg;
@@ -16687,7 +16665,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 FreeExpContents(exp);
 exp->type = 9;
@@ -16949,7 +16926,7 @@ if(exp->__anon1.list)
 struct Expression * e;
 
 type = ProcessTypeString(typeString, 0x0);
-while(e = (*exp->__anon1.list).first)
+while((e = (*exp->__anon1.list).first))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*exp->__anon1.list), e);
 e->destType = type;
@@ -17342,7 +17319,6 @@ case 4:
 {
 if(spec->__anon1.__anon2.definitions)
 {
-struct ClassDef * def;
 struct Symbol * symbol = spec->__anon1.__anon2.id ? FindClass(spec->__anon1.__anon2.id->string) : (((void *)0));
 
 ProcessClass(spec->__anon1.__anon2.definitions, symbol);
@@ -17572,12 +17548,10 @@ strcpy(propName, "__ecereProp_");
 FullClassNameCat(propName, prop->_class->fullName, 0x0);
 strcat(propName, "_");
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 strcpy(propNameM, "__ecerePropM_");
 FullClassNameCat(propNameM, prop->_class->fullName, 0x0);
 strcat(propNameM, "_");
 FullClassNameCat(propNameM, prop->name, 0x1);
-MangleClassName(propNameM);
 if(prop->isWatchable)
 {
 args = MkList();
@@ -17926,7 +17900,7 @@ struct Expression * e;
 
 builtinCount = (*arrayExp->__anon1.list).count;
 type = ProcessTypeString(typeString, 0x0);
-while(e = (*arrayExp->__anon1.list).first)
+while((e = (*arrayExp->__anon1.list).first))
 {
 __ecereMethod___ecereNameSpace__ecere__sys__OldList_Remove((&*arrayExp->__anon1.list), e);
 e->destType = type;
@@ -18355,7 +18329,6 @@ strcpy(propName, "__ecereProp_");
 FullClassNameCat(propName, prop->_class->fullName, 0x0);
 strcat(propName, "_");
 FullClassNameCat(propName, prop->name, 0x1);
-MangleClassName(propName);
 ListAdd(args, CopyExpression(object));
 ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
 ListAdd(args, watcher ? CopyExpression(watcher) : MkExpIdentifier(MkIdentifier("this")));
@@ -18443,7 +18416,6 @@ symbol->type->extraParam = 0x0;
 }
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
 structName[0] = (char)0;
 FullClassNameCat(structName, _class->fullName, 0x0);
 funcDecl = GetFuncDecl(function->declarator);
@@ -18568,7 +18540,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, classSym->string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 }
 bytePtr = QBrackets(MkExpCast(QMkType("char", QMkPtrDecl((((void *)0)))), QMkExpId("this")));
@@ -18833,6 +18804,12 @@ after = external;
 }
 }
 }
+{
+struct External * e = MkExternalDeclaration(MkDeclaration(MkListOne(MkStructOrUnion(3, MkIdentifier("__ecereNameSpace__ecere__com__Instance"), (((void *)0)))), (((void *)0))));
+
+__ecereMethod___ecereNameSpace__ecere__sys__OldList_Insert((&*ast), after, e);
+after = e;
+}
 temp->symbol = __extension__ ({
 struct Symbol * __ecereInstance1 = __ecereNameSpace__ecere__com__eInstance_New(__ecereClass_Symbol);
 
@@ -18910,7 +18887,7 @@ extern struct __ecereNameSpace__ecere__com__Instance * __thisModule;
 
 void __ecereRegisterModule_pass15(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetYydebug", "void SetYydebug(bool b)", SetYydebug, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetThisClass", "void SetThisClass(ecere::com::Class c)", SetThisClass, module, 1);
index 9bccae8..d9577c4 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1965,8 +1967,6 @@ extern struct Symbol * FindClass(const char *  name);
 
 extern void FullClassNameCat(char *  output, const char *  className, unsigned int includeTemplateParams);
 
-extern void MangleClassName(char *  className);
-
 static struct Declaration * curDecl;
 
 static int declTempCount;
@@ -2198,7 +2198,6 @@ FullClassNameCat(className, classSym->string, 0x1);
 }
 else
 FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 newCall = MkExpCall(QMkExpId("ecere::com::eInstance_New"), MkListOne(QMkExpId(className)));
 newCall->usage = exp->usage;
@@ -3361,7 +3360,6 @@ FullClassNameCat(className, classSym->string, 0x1);
 }
 else
 FullClassNameCat(className, inst->_class->__anon1.__anon1.name, 0x1);
-MangleClassName(className);
 if(classSym)
 DeclareClass(classSym, className);
 if(classSym && classSym->__anon1.registered && classSym->__anon1.registered->type == 5 && (classSym->__anon1.registered->templateClass ? classSym->__anon1.registered->templateClass->fixed : classSym->__anon1.registered->fixed))
@@ -3728,7 +3726,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_pass16(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("DeclareClass", "void DeclareClass(Symbol classSym, const char * className)", DeclareClass, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessExpressionInstPass", "void ProcessExpressionInstPass(Expression exp)", ProcessExpressionInstPass, module, 2);
index a959450..a95d93e 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1354,8 +1356,6 @@ extern struct __ecereNameSpace__ecere__sys__OldList *  MkListOne(void *  item);
 
 extern struct Specifier * MkSpecifierName(const char *  name);
 
-extern void MangleClassName(char *  className);
-
 extern struct Symbol * FindClass(const char *  name);
 
 extern void DeclareClass(struct Symbol * classSym, const char *  className);
@@ -1625,7 +1625,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
@@ -2289,7 +2288,6 @@ if(_class->templateClass)
 _class = _class->templateClass;
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x0);
-MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
@@ -2442,7 +2440,6 @@ if(exp->__anon1.op.op == '*' && !exp->__anon1.op.exp1 && exp->__anon1.op.exp2 &&
 struct Expression * next = exp->next, * prev = exp->prev;
 struct Expression * derefExp = exp->__anon1.op.exp2;
 struct Expression * refExp = exp->__anon1.op.exp2->__anon1.op.exp2;
-struct Type * expType = exp->expType, * destType = exp->destType;
 
 derefExp->__anon1.op.exp2 = (((void *)0));
 FreeExpression(derefExp);
@@ -2755,7 +2752,6 @@ argClass = classSym->__anon1.registered;
 struct Type * type = memberExp ? memberExp->__anon1.member.exp->expType : (((void *)0));
 struct __ecereNameSpace__ecere__com__Class * regClass = (type && type->kind == 8 && type->__anon1._class) ? type->__anon1._class->__anon1.registered : (((void *)0));
 char className[1024];
-unsigned int useInstance = 0x0;
 
 if(!exp->__anon1.call.exp->expType->__anon1.__anon3.methodClass && !_class && type && type->classObjectType)
 strcpy(className, "class");
@@ -2773,7 +2769,6 @@ if(cl->templateClass && !_class && exp->__anon1.call.exp->expType->__anon1._clas
 cl = cl->templateClass;
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, cl->fullName, 0x1);
-MangleClassName(className);
 if(!cl->symbol)
 cl->symbol = FindClass(cl->fullName);
 DeclareClass(cl->symbol, className);
@@ -2930,7 +2925,6 @@ else if(cl)
 {
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, cl->fullName, 0x1);
-MangleClassName(className);
 if(!cl->symbol)
 cl->symbol = FindClass(cl->fullName);
 DeclareClass(cl->symbol, className);
@@ -3189,7 +3183,6 @@ else
 {
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
@@ -3499,7 +3492,6 @@ char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, _class->fullName, 0x1);
-MangleClassName(className);
 if(!_class->symbol)
 _class->symbol = FindClass(_class->fullName);
 DeclareClass(_class->symbol, className);
@@ -3622,14 +3614,12 @@ exp->__anon1.member.exp->__anon1.__anon1.identifier = MkIdentifier(pointerName);
 else
 {
 struct Expression * bytePtr, * e;
-struct Expression * classExp;
 struct Expression * checkedExp;
 char structName[1024];
 char className[1024];
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, member->_class->fullName, 0x1);
-MangleClassName(className);
 if(!member->_class->symbol)
 member->_class->symbol = FindClass(member->_class->fullName);
 DeclareClass(member->_class->symbol, className);
@@ -3816,7 +3806,6 @@ struct Symbol * classSym = FindClass(string);
 
 strcpy(className, "__ecereClass_");
 FullClassNameCat(className, string, 0x1);
-MangleClassName(className);
 DeclareClass(classSym, className);
 (__ecereNameSpace__ecere__com__eSystem_Delete(string), string = 0);
 FreeList(exp->__anon1._classExp.specifiers, FreeSpecifier);
@@ -4309,7 +4298,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_pass2(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("GetNonBracketsExp", "Expression GetNonBracketsExp(Expression exp)", GetNonBracketsExp, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessMemberAccess", "void ProcessMemberAccess(void)", ProcessMemberAccess, module, 1);
index aa04903..e4f0f71 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1929,7 +1931,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_pass3(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("InstDeclPassTypeName", "void InstDeclPassTypeName(TypeName type, bool param)", InstDeclPassTypeName, module, 2);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("ProcessInstanceDeclarations", "void ProcessInstanceDeclarations(void)", ProcessInstanceDeclarations, module, 1);
index abadd6b..bcd0edd 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -454,8 +456,6 @@ void resetScannerPos(struct CodePosition * pos);
 
 extern struct Declarator * CopyDeclarator(struct Declarator * declarator);
 
-extern int printf(const char * , ...);
-
 extern void FreeDeclarator(struct Declarator * decl);
 
 struct Declarator * PlugDeclarator(struct Declarator * decl, struct Declarator * baseDecl)
@@ -470,7 +470,6 @@ if(base->type != 1)
 {
 for(; base->declarator && base->declarator->type != 1; base = base->declarator)
 {
-printf("");
 }
 }
 if(baseDecl)
@@ -746,7 +745,7 @@ extern struct __ecereNameSpace__ecere__com__GlobalFunction * __ecereNameSpace__e
 
 void __ecereRegisterModule_shortcuts(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("SetParsingType", "void SetParsingType(bool b)", SetParsingType, module, 1);
 __ecereNameSpace__ecere__com__eSystem_RegisterFunction("PlugDeclarator", "Declarator PlugDeclarator(Declarator decl, Declarator baseDecl)", PlugDeclarator, module, 2);
index def5cd3..915eef1 100644 (file)
@@ -30,6 +30,8 @@ typedef unsigned __int64 uint64;
 #endif
 #include <stdint.h>
 #include <sys/types.h>
+struct __ecereNameSpace__ecere__com__Instance;
+
 extern void *  __ecereNameSpace__ecere__com__eSystem_New(unsigned int size);
 
 extern void *  __ecereNameSpace__ecere__com__eSystem_New0(unsigned int size);
@@ -1093,7 +1095,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -5758,7 +5760,7 @@ return (yyresult);
 
 void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 5bf2bbc..b05c5d9 100644 (file)
@@ -97,7 +97,7 @@ void FreeDataMemberDefine(DataMemberDefine dataMember)
 void FreeDataDefine(DataDefine data)
 {
    delete data.name;
-   delete data.type;
+   delete data.dataType;
 }
 
 void FreeDefinition(Definition definition)
@@ -129,7 +129,7 @@ static bool globalInstance = false;
 static Context globalContext { };
 static OldList defines, imports, precompDefines;
 static Module privateModule;
-static OldList _excludedSymbols { offset = (uint)&((Symbol)0).left };
+static OldList _excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
 static NameSpace globalData
 {
    classes.CompareKey = (void *)BinaryTree::CompareString;
@@ -431,7 +431,6 @@ static void AddDefinitions(ClassDefine classDefine, DataMemberDefine parentMembe
          {
             DataMember member;
             Property prop;
-            Method method;
             if((prop = eClass_FindProperty(regClass, def.id.string, privateModule)))
             {
                PropertyDefine propDefine;
@@ -725,7 +724,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
          }
          if(param.type == identifier)
          {
-            eClass_AddTemplateParameter(regClass, param.identifier.string, param.type, (void *)param.memberType, defaultArg);
+            eClass_AddTemplateParameter(regClass, param.identifier.string, param.type, (void *)(uintptr)param.memberType, defaultArg);
          }
          else
          {
@@ -1283,7 +1282,6 @@ static void OutputSymbols(const char * fileName)
          }
          else if(definition.type == defineDefinition)
          {
-            DefinedExpression defExp = eSystem_FindDefine(privateModule, definition.name);
             Define defineDefine = (Define) definition;
             f.Printf("   %s\n", definition.name);
             f.Printf("      [Value]\n");
index bdfbad3..920aa8d 100644 (file)
@@ -22,7 +22,7 @@ static File dcomSymbols;
 
 static OldList _defines { };
 static OldList _imports { };
-static OldList _excludedSymbols { offset = (uint)&((Symbol)0).left };
+static OldList _excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
 static NameSpace globalData
 {
    classes.CompareKey = (void *)BinaryTree::CompareString;
@@ -253,7 +253,7 @@ static void WriteMain(const char * fileName)
    {
       ModuleImport module;
       ModuleInfo defModule;
-      bool nonInst = false, anyMethod = false, anyProp = false, anyFunction = false;
+      bool /*nonInst = false, */anyMethod = false, anyProp = false, anyFunction = false;
       ImportedModule importedModule;
 
       GetLastDirectory(fileName, mainModuleName);
@@ -322,12 +322,12 @@ static void WriteMain(const char * fileName)
             Class regClass = eSystem_FindClass(privateModule, _class.name);
 
             FullClassNameCat(className, _class.name, true);
-            MangleClassName(className);
+            //MangleClassName(className);
 
             if(_class.itself)
                f.Printf("Class __ecereClass_%s;\n", className);
-            else
-               nonInst = true;
+            /*else
+               nonInst = true;*/
             //if(!_class.isRemote)
             {
                //if(strcmp(_class.name, "SerialBuffer"))
@@ -374,7 +374,7 @@ static void WriteMain(const char * fileName)
                   propName[0] = 0;
                   FullClassNameCat(propName, prop.name, true);
                   // strcpy(propName, prop.name);
-                  MangleClassName(propName);
+                  //MangleClassName(propName);
 
                   if((!strcmp(_class.name, "float") || !strcmp(_class.name, "double") || module.name) && module.importType != staticImport)
                   {
@@ -559,7 +559,7 @@ static void WriteMain(const char * fileName)
                   char classID[1024];
                   char className[1024] = "";
                   FullClassNameCat(className, _class.name, true);
-                  MangleClassName(className);
+                  //MangleClassName(className);
 
                   if(_class.itself)
                      sprintf(classID, "__ecereClass_%s", className);
@@ -594,7 +594,7 @@ static void WriteMain(const char * fileName)
                      propName[0] = 0;
                      FullClassNameCat(propName, prop.name, true);
                      // strcpy(propName, prop.name);
-                     MangleClassName(propName);
+                     //MangleClassName(propName);
 
                      f.Printf("   __ecereProp_%s_%s = _property = eClass_FindProperty(%s, \"%s\", module);\n",
                         className, propName, classID, prop.name);
@@ -902,7 +902,7 @@ static void BindDCOMClient()
                            }
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, classSym.string, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
                            DeclareClass(classSym, className);
 
                            PrintType(method.dataType.returnType, type, true, true);
@@ -944,7 +944,7 @@ static void BindDCOMClient()
 
                               strcpy(className, "__ecereClass_");
                               FullClassNameCat(className, classSym.string, true);
-                              MangleClassName(className);
+                              //MangleClassName(className);
                               DeclareClass(classSym, className);
 
                               PrintType(param, type, true, true);
@@ -1096,7 +1096,7 @@ static void BindDCOMClient()
 
                      strcpy(className, "__ecereClass_");
                      FullClassNameCat(className, classSym.string, true);
-                     MangleClassName(className);
+                     //MangleClassName(className);
                      DeclareClass(classSym, className);
 
                      PrintType(method.dataType.returnType, type, true, true);
@@ -1132,7 +1132,7 @@ static void BindDCOMClient()
                      strcpy(className, "__ecereClass_");
                      FullClassNameCat(className, classSym.string, true);
 
-                     MangleClassName(className);
+                     //MangleClassName(className);
                      DeclareClass(classSym, className);
 
                      if(param.kind == classType && !strcmp(param._class.string, "String"))
@@ -1290,7 +1290,7 @@ static void BindDCOMServer()
                         }
                         strcpy(className, "__ecereClass_");
                         FullClassNameCat(className, classSym.string, true);
-                        MangleClassName(className);
+                        //MangleClassName(className);
                         DeclareClass(classSym, className);
 
                         PrintType(method.dataType.returnType, type, true, true);
@@ -1332,7 +1332,7 @@ static void BindDCOMServer()
 
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, classSym.string, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
                            DeclareClass(classSym, className);
 
                            PrintType(param, type, true, true);
@@ -1474,7 +1474,7 @@ static void BindDCOMServer()
 
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, classSym.string, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
                            DeclareClass(classSym, className);
 
                            PrintType(method.dataType.returnType, type, true, true);
@@ -1513,7 +1513,7 @@ static void BindDCOMServer()
                            }
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, classSym.string, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
                            DeclareClass(classSym, className);
 
                            if(param.kind == classType && !strcmp(param._class.string, "String"))
@@ -1757,7 +1757,7 @@ class SymbolgenApp : Application
 
          //if(!strcmp(ext, "c"))
          {
-            const String symbolsDir = GetSymbolsDir();
+            //const String symbolsDir = GetSymbolsDir();
             // Only generating .pot files when building from release.* directory for now
             //bool outputPot = symbolsDir && SearchString(symbolsDir, 0, "release.", false, false);
             Map<ContextStringPair, List<String> > intlStrings { };
index 8142797..6c3a1cc 100644 (file)
@@ -1065,7 +1065,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -4981,7 +4981,7 @@ return (yyresult);
 
 void __ecereRegisterModule_expression(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 5bb0111..89ff013 100644 (file)
@@ -1209,7 +1209,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -5066,7 +5066,7 @@ yyval.context = PushContext();
 break;
 case 236:
 {
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (2)].id->string);
 FreeIdentifier(yyvsp[(2) - (2)].id);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
@@ -5076,7 +5076,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 237:
 {
-yyvsp[(1) - (2)].context;
+(void)yyvsp[(1) - (2)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (2)].specifier->__anon1.__anon1.name);
 yyval.symbol->nameLoc = (yylsp[(2) - (2)]);
 FreeSpecifier(yyvsp[(2) - (2)].specifier);
@@ -5087,7 +5087,7 @@ memberAccessStack[defaultMemberAccess] = 2;
 break;
 case 238:
 {
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (3)].id->string);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 FreeIdentifier(yyvsp[(3) - (3)].id);
@@ -5099,7 +5099,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 239:
 {
-yyvsp[(2) - (3)].context;
+(void)yyvsp[(2) - (3)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (3)].specifier->__anon1.__anon1.name);
 FreeIdentifier(yyvsp[(1) - (3)].id);
 yyval.symbol->nameLoc = (yylsp[(3) - (3)]);
@@ -5111,7 +5111,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 240:
 {
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(2) - (5)].id->string);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 FreeIdentifier(yyvsp[(2) - (5)].id);
@@ -5122,7 +5122,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 241:
 {
-yyvsp[(1) - (5)].context;
+(void)yyvsp[(1) - (5)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(2) - (5)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(4) - (5)].list;
 yyval.symbol->nameLoc = (yylsp[(2) - (5)]);
@@ -5134,7 +5134,7 @@ memberAccessStack[defaultMemberAccess] = 2;
 break;
 case 242:
 {
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
 yyval.symbol = DeclClassAddNameSpace(globalContext->nextID++, yyvsp[(3) - (6)].id->string);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
@@ -5147,7 +5147,7 @@ memberAccessStack[++defaultMemberAccess] = 2;
 break;
 case 243:
 {
-yyvsp[(2) - (6)].context;
+(void)yyvsp[(2) - (6)].context;
 yyval.symbol = DeclClass(globalContext->nextID++, yyvsp[(3) - (6)].specifier->__anon1.__anon1.name);
 yyval.symbol->templateParams = yyvsp[(5) - (6)].list;
 FreeIdentifier(yyvsp[(1) - (6)].id);
@@ -5205,7 +5205,7 @@ PopContext(curContext);
 break;
 case 248:
 {
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
 yyval._class = MkClass(DeclClassAddNameSpace(0, yyvsp[(2) - (3)].id->string), (((void *)0)), (((void *)0)));
 FreeIdentifier(yyvsp[(2) - (3)].id);
 if(defaultMemberAccess > -1)
@@ -5216,7 +5216,7 @@ PopContext(curContext);
 break;
 case 249:
 {
-yyvsp[(1) - (3)].context;
+(void)yyvsp[(1) - (3)].context;
 yyval._class = MkClass(DeclClass(0, yyvsp[(2) - (3)].specifier->__anon1.__anon1.name), (((void *)0)), (((void *)0)));
 FreeSpecifier(yyvsp[(2) - (3)].specifier);
 if(defaultMemberAccess > -1)
@@ -12730,7 +12730,7 @@ return (yyresult);
 
 void __ecereRegisterModule_grammar(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index fbf0e71..5cb43ba 100644 (file)
@@ -1093,7 +1093,7 @@ size_t fread(void * ptr, size_t size, size_t nmemb, FILE * stream);
 
 size_t fwrite(const void * ptr, size_t size, size_t nmemb, FILE * stream);
 
-int vsnprintf(char *, size_t, const char *, ...);
+int vsnprintf(char *, size_t, const char *, va_list args);
 
 int snprintf(char * str, size_t, const char * format, ...);
 
@@ -5758,7 +5758,7 @@ return (yyresult);
 
 void __ecereRegisterModule_type(struct __ecereNameSpace__ecere__com__Instance * module)
 {
-struct __ecereNameSpace__ecere__com__Class * class;
+struct __ecereNameSpace__ecere__com__Class __attribute__((unused)) * class;
 
 }
 
index 8912d64..4bc5e8e 100644 (file)
@@ -1312,7 +1312,6 @@ External MkExternalImport(char * name, ImportType importType, AccessMode importA
 External MkExternalDeclaration(Declaration declaration)
 {
    External external { type = declarationExternal, declaration = declaration, symbol = declaration ? declaration.symbol : null };
-   InitDeclarator d = (declaration && declaration.declarators) ? declaration.declarators->last : null;
    if(declaration && declaration.type == initDeclaration && declaration.specifiers)
    {
       Specifier spec;
@@ -2106,7 +2105,7 @@ static char * GetFullClassName(Class c, char * name)
 
 public Symbol FindClass(const char * name)
 {
-#ifdef _DEBUG
+#ifdef _TIMINGS
    Time startTime = GetTime();
 #endif
    Symbol cl = null;
@@ -2281,7 +2280,6 @@ static Type ProcessTypeSpecs(OldList specs, bool assumeEllipsis, bool keepTypeNa
             ExtDecl extDecl = spec.extDecl;
             if(extDecl.type == extDeclString)
             {
-               String s = spec.extDecl.s;
                if(!strcmp(spec.extDecl.s, "__declspec(dllexport)") || !strcmp(spec.extDecl.s, "dllexport"))
                   specType.dllExport = true;
                else if(!strcmp(spec.extDecl.s, "__declspec(stdcall)") || !strcmp(spec.extDecl.s, "stdcall"))
@@ -2410,7 +2408,6 @@ static Type ProcessTypeSpecs(OldList specs, bool assumeEllipsis, bool keepTypeNa
             if(spec.list)
             {
                Enumerator e;
-               int nextValue = 0;
                for(e = spec.list->first; e; e = e.next)
                {
                   NamedLink i { name = CopyString(e.id.string) };
@@ -2907,12 +2904,11 @@ Expression GetTemplateArgExpByName(const char * paramName, Class curClass, Templ
       {
          char idString[32];
          char className[1024];
-         Expression classExp;
 
          sprintf(idString, "%d", id);
          strcpy(className, "__ecereClass_");
          FullClassNameCat(className, _class.fullName, true);
-         MangleClassName(className);
+         //MangleClassName(className);
          DeclareClass(FindClass(_class.fullName), className);
 
          argExp = MkExpIndex((/*pointer ? MkExpPointer : */MkExpMember)
@@ -2957,6 +2953,7 @@ public void OutputIntlStrings()
             filePrefix = "./"; //(GetRuntimePlatform() == win32) ? ".\\" : "./";
          // GetSystemPathBuffer(srcFileFixed, srcFile);
          GetSlashPathBuffer(srcFileFixed, srcFile);
+
          for(s : intlStrings)
          {
             // TOFIX: (#654) ContextStringPair * pair = &s;
index 4f77377..d337bfc 100644 (file)
@@ -265,10 +265,7 @@ static void AddDefinitions(Class regClass, DataMember member, OldList definition
                if(propertyDef.isWatchable)
                   eProperty_Watchable(prop);
             }
-            else
-               // TODO: What happens here?
-               printf("");
-
+            // TODO: else:  What happens here?
 
             // Testing this... wasn't found anywhere, seems to be useful
             // (Determining if it's a conversion property in ProcessClassFunction)
@@ -280,13 +277,13 @@ static void AddDefinitions(Class regClass, DataMember member, OldList definition
          else if(def.type == classPropertyClassDef && def.propertyDef)
          {
             PropertyDef propertyDef = def.propertyDef;
-            ClassProperty prop;
+            //ClassProperty prop;
 
             // Register the property in the list
             // MOVED THIS UP HERE BEFORE NEXT BLOCK BECAUSE WE NULL OUT SPECIFIERS/DECLARATORS... OK?
 
             char * dataTypeString = StringFromSpecDecl(propertyDef.specifiers, propertyDef.declarator);
-            prop = eClass_AddClassProperty(regClass, propertyDef.id.string, dataTypeString,
+            /*prop = */eClass_AddClassProperty(regClass, propertyDef.id.string, dataTypeString,
                inCompiler ? propertyDef.setStmt : null, inCompiler ? propertyDef.getStmt : null);
 
             delete dataTypeString;
@@ -556,7 +553,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
          }
          if(param.type == identifier)
          {
-            eClass_AddTemplateParameter(regClass, param.identifier.string, identifier, (void *)param.memberType, defaultArg);
+            eClass_AddTemplateParameter(regClass, param.identifier.string, identifier, (void *)(uintptr)param.memberType, defaultArg);
          }
          else
          {
index f23b946..6457c97 100644 (file)
@@ -801,7 +801,7 @@ void FreeStatement(Statement stmt)
          if(stmt._watch.object)
             FreeExpression(stmt._watch.object);
          if(stmt._watch.watches)
-            FreeList(stmt._watch.watches, (stmt.type == watchStmt) ? FreePropertyWatch : FreeIdentifier);
+            FreeList(stmt._watch.watches, (stmt.type == watchStmt) ? (void *)FreePropertyWatch : (void *)FreeIdentifier);
          break;
       }
    }
index 85c0c7d..5a8ae87 100644 (file)
@@ -14968,7 +14968,7 @@ yyreduce:
 
 /* Line 1464 of yacc.c  */
 #line 1339 "grammar.y"
-    { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 237:
@@ -14976,7 +14976,7 @@ yyreduce:
 /* Line 1464 of yacc.c  */
 #line 1341 "grammar.y"
     {
-      (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
+      (void)(yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
       FreeSpecifier((yyvsp[(2) - (2)].specifier));
       ++defaultMemberAccess;
@@ -14988,21 +14988,21 @@ yyreduce:
 
 /* Line 1464 of yacc.c  */
 #line 1348 "grammar.y"
-    { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 239:
 
 /* Line 1464 of yacc.c  */
 #line 1349 "grammar.y"
-    { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 240:
 
 /* Line 1464 of yacc.c  */
 #line 1351 "grammar.y"
-    { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 241:
@@ -15010,7 +15010,7 @@ yyreduce:
 /* Line 1464 of yacc.c  */
 #line 1353 "grammar.y"
     {
-      (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
+      (void)(yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
       (yyval.symbol).nameLoc = (yylsp[(2) - (5)]);
       FreeSpecifier((yyvsp[(2) - (5)].specifier));
@@ -15023,14 +15023,14 @@ yyreduce:
 
 /* Line 1464 of yacc.c  */
 #line 1361 "grammar.y"
-    { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 243:
 
 /* Line 1464 of yacc.c  */
 #line 1362 "grammar.y"
-    { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
+    { (void)(yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 244:
@@ -15081,7 +15081,7 @@ yyreduce:
 /* Line 1464 of yacc.c  */
 #line 1394 "grammar.y"
     {
-         (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
+         (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
          POP_DEFAULT_ACCESS
          PopContext(curContext);
       ;}
@@ -15092,7 +15092,7 @@ yyreduce:
 /* Line 1464 of yacc.c  */
 #line 1400 "grammar.y"
     {
-         (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
+         (void)(yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
          POP_DEFAULT_ACCESS
          PopContext(curContext);
       ;}
index d06c414..442b879 100644 (file)
@@ -1336,30 +1336,30 @@ class_entry:
    };
 
 class_decl:
-     class_entry identifier { $1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+     class_entry identifier { (void)$1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
    | class_entry base_strict_type
    {
-      $1; $$ = DeclClass(globalContext.nextID++, $2.name);
+      (void)$1; $$ = DeclClass(globalContext.nextID++, $2.name);
       $$.nameLoc = @2;
       FreeSpecifier($2);
       ++defaultMemberAccess;
       memberAccessStack[defaultMemberAccess] = privateAccess;
    }
-   | identifier class_entry identifier { $2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
-   | identifier class_entry base_strict_type { $2; $$ = DeclClass(globalContext.nextID++, $3.name); FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
+   | identifier class_entry identifier { (void)$2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+   | identifier class_entry base_strict_type { (void)$2; $$ = DeclClass(globalContext.nextID++, $3.name); FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
 
-   | class_entry identifier '<' template_parameters_list '>' { $1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); $$.templateParams = $4; FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+   | class_entry identifier '<' template_parameters_list '>' { (void)$1; $$ = DeclClassAddNameSpace(globalContext.nextID++, $2.string); $$.templateParams = $4; FreeIdentifier($2); $$.nameLoc = @2; memberAccessStack[++defaultMemberAccess] = privateAccess; }
    | class_entry base_strict_type '<' template_parameters_list '>'
    {
-      $1; $$ = DeclClass(globalContext.nextID++, $2.name);
+      (void)$1; $$ = DeclClass(globalContext.nextID++, $2.name);
       $$.templateParams = $4;
       $$.nameLoc = @2;
       FreeSpecifier($2);
       ++defaultMemberAccess;
       memberAccessStack[defaultMemberAccess] = privateAccess;
    }
-   | identifier class_entry identifier '<' template_parameters_list '>' { $2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); $$.templateParams = $5; FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
-   | identifier class_entry base_strict_type '<' template_parameters_list '>' { $2; $$ = DeclClass(globalContext.nextID++, $3.name); $$.templateParams = $5; FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
+   | identifier class_entry identifier '<' template_parameters_list '>' { (void)$2; $$ = DeclClassAddNameSpace(globalContext.nextID++, $3.string); $$.templateParams = $5; FreeIdentifier($1); FreeIdentifier($3); $$.nameLoc = @3; $$.isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; }
+   | identifier class_entry base_strict_type '<' template_parameters_list '>' { (void)$2; $$ = DeclClass(globalContext.nextID++, $3.name); $$.templateParams = $5; FreeIdentifier($1); $$.nameLoc = @3; $$.isRemote = true; FreeSpecifier($3); memberAccessStack[++defaultMemberAccess] = privateAccess; }
    ;
 
 class:
@@ -1392,13 +1392,13 @@ class:
 
        | class_entry identifier ';'
       {
-         $1; $$ = MkClass(DeclClassAddNameSpace(0, $2.string), null, null); FreeIdentifier($2);
+         (void)$1; $$ = MkClass(DeclClassAddNameSpace(0, $2.string), null, null); FreeIdentifier($2);
          POP_DEFAULT_ACCESS
          PopContext(curContext);
       }
        | class_entry type ';'
       {
-         $1; $$ = MkClass(DeclClass(0, $2.name), null, null); FreeSpecifier($2);
+         (void)$1; $$ = MkClass(DeclClass(0, $2.name), null, null); FreeSpecifier($2);
          POP_DEFAULT_ACCESS
          PopContext(curContext);
       }
index eb8d832..4d3b585 100644 (file)
@@ -1181,7 +1181,8 @@ static char *yy_last_accepting_cpos;
 char *yytext;
 #line 1 "lexer.l"
 #define INITIAL 0
-#line 11 "lexer.l"
+#define YY_NO_UNPUT 1
+#line 13 "lexer.l"
 import "ecdefs"
 #define YYLTYPE Location
 #define YY_NEVER_INTERACTIVE 1    // Avoid calling isatty on eC File object
@@ -1230,7 +1231,7 @@ int include_stack_ptr = 0;
 #define uint _uint
 default:
 
-#line 1234 "lexer.ec"
+#line 1235 "lexer.ec"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1381,7 +1382,7 @@ YY_DECL
        register char *yy_cp, *yy_bp;
        register int yy_act;
 
-#line 61 "lexer.l"
+#line 63 "lexer.l"
 
 
 
@@ -1390,7 +1391,7 @@ YY_DECL
    expression_yylloc.start = expression_yylloc.end;
 
 
-#line 1394 "lexer.ec"
+#line 1395 "lexer.ec"
 
        if ( yy_init )
                {
@@ -1475,107 +1476,107 @@ do_action:    /* This label is used only to access EOF actions. */
 
 case 1:
 YY_RULE_SETUP
-#line 69 "lexer.l"
+#line 71 "lexer.l"
 { preprocessor(); }
        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 70 "lexer.l"
+#line 72 "lexer.l"
 { comment(); }
        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 71 "lexer.l"
+#line 73 "lexer.l"
 { commentCPP(); }
        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 73 "lexer.l"
+#line 75 "lexer.l"
 { return(AUTO); }
        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 74 "lexer.l"
+#line 76 "lexer.l"
 { return(BREAK); }
        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 75 "lexer.l"
+#line 77 "lexer.l"
 { return(CASE); }
        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 76 "lexer.l"
+#line 78 "lexer.l"
 { return(CHAR); }
        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 77 "lexer.l"
+#line 79 "lexer.l"
 { return(CONST); }
        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 78 "lexer.l"
+#line 80 "lexer.l"
 { return(CONTINUE); }
        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 79 "lexer.l"
+#line 81 "lexer.l"
 { return(DEFAULT); }
        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 80 "lexer.l"
+#line 82 "lexer.l"
 { return(DO); }
        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 81 "lexer.l"
+#line 83 "lexer.l"
 { return(DOUBLE); }
        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 82 "lexer.l"
+#line 84 "lexer.l"
 { return(ELSE); }
        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 83 "lexer.l"
+#line 85 "lexer.l"
 { return(ENUM); }
        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 84 "lexer.l"
+#line 86 "lexer.l"
 { return(EXTERN); }
        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 85 "lexer.l"
+#line 87 "lexer.l"
 { return(FLOAT); }
        YY_BREAK
 case 17:
 YY_RULE_SETUP
-#line 86 "lexer.l"
+#line 88 "lexer.l"
 { return(FOR); }
        YY_BREAK
 case 18:
 YY_RULE_SETUP
-#line 87 "lexer.l"
+#line 89 "lexer.l"
 { return(GOTO); }
        YY_BREAK
 case 19:
 YY_RULE_SETUP
-#line 88 "lexer.l"
+#line 90 "lexer.l"
 { return(IF); }
        YY_BREAK
 case 20:
 YY_RULE_SETUP
-#line 89 "lexer.l"
+#line 91 "lexer.l"
 { return(INT); }
        YY_BREAK
 case 21:
 YY_RULE_SETUP
-#line 90 "lexer.l"
+#line 92 "lexer.l"
 { return(UINT); }
        YY_BREAK
 /* "uint16"            { return(UINT16); } */
@@ -1583,222 +1584,222 @@ YY_RULE_SETUP
 /* "bool"              { return(BOOL_TOKEN); } */
 case 22:
 YY_RULE_SETUP
-#line 94 "lexer.l"
+#line 96 "lexer.l"
 { return(LONG); }
        YY_BREAK
 case 23:
 YY_RULE_SETUP
-#line 95 "lexer.l"
+#line 97 "lexer.l"
 { return(REGISTER); }
        YY_BREAK
 case 24:
 YY_RULE_SETUP
-#line 96 "lexer.l"
+#line 98 "lexer.l"
 { return(RETURN); }
        YY_BREAK
 case 25:
 YY_RULE_SETUP
-#line 97 "lexer.l"
+#line 99 "lexer.l"
 { return(SHORT); }
        YY_BREAK
 case 26:
 YY_RULE_SETUP
-#line 98 "lexer.l"
+#line 100 "lexer.l"
 { return(SIGNED); }
        YY_BREAK
 case 27:
 YY_RULE_SETUP
-#line 99 "lexer.l"
+#line 101 "lexer.l"
 { return(SIGNED); }
        YY_BREAK
 case 28:
 YY_RULE_SETUP
-#line 100 "lexer.l"
+#line 102 "lexer.l"
 { return(SIGNED); }
        YY_BREAK
 case 29:
 YY_RULE_SETUP
-#line 101 "lexer.l"
+#line 103 "lexer.l"
 { return(SIZEOF); }
        YY_BREAK
 case 30:
 YY_RULE_SETUP
-#line 102 "lexer.l"
+#line 104 "lexer.l"
 { return(ALIGNOF); }
        YY_BREAK
 case 31:
 YY_RULE_SETUP
-#line 103 "lexer.l"
+#line 105 "lexer.l"
 { return(STATIC); }
        YY_BREAK
 case 32:
 YY_RULE_SETUP
-#line 104 "lexer.l"
+#line 106 "lexer.l"
 { return(THREAD); }
        YY_BREAK
 case 33:
 YY_RULE_SETUP
-#line 105 "lexer.l"
+#line 107 "lexer.l"
 { return(STRUCT); }
        YY_BREAK
 case 34:
 YY_RULE_SETUP
-#line 106 "lexer.l"
+#line 108 "lexer.l"
 { return(SWITCH); }
        YY_BREAK
 case 35:
 YY_RULE_SETUP
-#line 107 "lexer.l"
+#line 109 "lexer.l"
 { return(TYPEDEF); }
        YY_BREAK
 case 36:
 YY_RULE_SETUP
-#line 108 "lexer.l"
+#line 110 "lexer.l"
 { return(UNION); }
        YY_BREAK
 case 37:
 YY_RULE_SETUP
-#line 109 "lexer.l"
+#line 111 "lexer.l"
 { return(UNSIGNED); }
        YY_BREAK
 case 38:
 YY_RULE_SETUP
-#line 110 "lexer.l"
+#line 112 "lexer.l"
 { return(VOID); }
        YY_BREAK
 case 39:
 YY_RULE_SETUP
-#line 111 "lexer.l"
+#line 113 "lexer.l"
 { return(VOLATILE); }
        YY_BREAK
 case 40:
 YY_RULE_SETUP
-#line 112 "lexer.l"
+#line 114 "lexer.l"
 { return(VOLATILE); }
        YY_BREAK
 case 41:
 YY_RULE_SETUP
-#line 113 "lexer.l"
+#line 115 "lexer.l"
 { return(VOLATILE); }
        YY_BREAK
 case 42:
 YY_RULE_SETUP
-#line 114 "lexer.l"
+#line 116 "lexer.l"
 { return(WHILE); }
        YY_BREAK
 case 43:
 YY_RULE_SETUP
-#line 116 "lexer.l"
+#line 118 "lexer.l"
 { return(PROPERTY); }
        YY_BREAK
 case 44:
 YY_RULE_SETUP
-#line 117 "lexer.l"
+#line 119 "lexer.l"
 { return(SETPROP); }    // TODO: Don't make this a keyword...
        YY_BREAK
 case 45:
 YY_RULE_SETUP
-#line 118 "lexer.l"
+#line 120 "lexer.l"
 { return(GETPROP); }    // TODO: Don't make this a keyword...
        YY_BREAK
 case 46:
 YY_RULE_SETUP
-#line 119 "lexer.l"
+#line 121 "lexer.l"
 { return(ISPROPSET); }    // TODO: Don't make this a keyword...
        YY_BREAK
 case 47:
 YY_RULE_SETUP
-#line 120 "lexer.l"
+#line 122 "lexer.l"
 { return(CLASS); }
        YY_BREAK
 case 48:
 YY_RULE_SETUP
-#line 121 "lexer.l"
+#line 123 "lexer.l"
 { return(THISCLASS); }
        YY_BREAK
 case 49:
 YY_RULE_SETUP
-#line 122 "lexer.l"
+#line 124 "lexer.l"
 { return(VIRTUAL); }
        YY_BREAK
 case 50:
 YY_RULE_SETUP
-#line 123 "lexer.l"
+#line 125 "lexer.l"
 { return(DELETE); }
        YY_BREAK
 case 51:
 YY_RULE_SETUP
-#line 124 "lexer.l"
+#line 126 "lexer.l"
 { return(NEWOP); }
        YY_BREAK
 case 52:
 YY_RULE_SETUP
-#line 125 "lexer.l"
+#line 127 "lexer.l"
 { return(NEW0OP); }
        YY_BREAK
 case 53:
 YY_RULE_SETUP
-#line 126 "lexer.l"
+#line 128 "lexer.l"
 { return(RENEW); }
        YY_BREAK
 case 54:
 YY_RULE_SETUP
-#line 127 "lexer.l"
+#line 129 "lexer.l"
 { return(RENEW0); }
        YY_BREAK
 case 55:
 YY_RULE_SETUP
-#line 128 "lexer.l"
+#line 130 "lexer.l"
 { return(IMPORT); }
        YY_BREAK
 case 56:
 YY_RULE_SETUP
-#line 129 "lexer.l"
+#line 131 "lexer.l"
 { return(DEFINE); }
        YY_BREAK
 case 57:
 YY_RULE_SETUP
-#line 130 "lexer.l"
+#line 132 "lexer.l"
 { return(INT64); }
        YY_BREAK
 case 58:
 YY_RULE_SETUP
-#line 131 "lexer.l"
+#line 133 "lexer.l"
 { return(INT64); }
        YY_BREAK
 case 59:
 YY_RULE_SETUP
-#line 132 "lexer.l"
+#line 134 "lexer.l"
 { return(VALIST); }
        YY_BREAK
 case 60:
 YY_RULE_SETUP
-#line 133 "lexer.l"
+#line 135 "lexer.l"
 { return(VAARG); }
        YY_BREAK
 case 61:
 YY_RULE_SETUP
-#line 134 "lexer.l"
+#line 136 "lexer.l"
 { return(BOOL); }
        YY_BREAK
 case 62:
 YY_RULE_SETUP
-#line 135 "lexer.l"
+#line 137 "lexer.l"
 { return(_BOOL); }
        YY_BREAK
 case 63:
 YY_RULE_SETUP
-#line 136 "lexer.l"
+#line 138 "lexer.l"
 { return(_COMPLEX); }
        YY_BREAK
 case 64:
 YY_RULE_SETUP
-#line 137 "lexer.l"
+#line 139 "lexer.l"
 { return(_IMAGINARY); }
        YY_BREAK
 case 65:
 YY_RULE_SETUP
-#line 138 "lexer.l"
+#line 140 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 /* "__attribute__".?"(("({D}|{L})*"))" { return(EXT_ATTRIB); } */
@@ -1825,532 +1826,532 @@ YY_RULE_SETUP
 /* "__attribute".?"((".?({D}|{L})*.?("("({D}|{L})*(.?",".?({D}|{L})*)*.?")")?.?"))" { return(EXT_ATTRIB); }*/
 case 66:
 YY_RULE_SETUP
-#line 165 "lexer.l"
+#line 167 "lexer.l"
 { return ATTRIB_DEP; }
        YY_BREAK
 case 67:
 YY_RULE_SETUP
-#line 166 "lexer.l"
+#line 168 "lexer.l"
 { return ATTRIB; }
        YY_BREAK
 case 68:
 YY_RULE_SETUP
-#line 167 "lexer.l"
+#line 169 "lexer.l"
 { return __ATTRIB; }
        YY_BREAK
 case 69:
 YY_RULE_SETUP
-#line 169 "lexer.l"
+#line 171 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 70:
 YY_RULE_SETUP
-#line 170 "lexer.l"
+#line 172 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 71:
 YY_RULE_SETUP
-#line 171 "lexer.l"
+#line 173 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 72:
 YY_RULE_SETUP
-#line 172 "lexer.l"
+#line 174 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 73:
 YY_RULE_SETUP
-#line 173 "lexer.l"
+#line 175 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 74:
 YY_RULE_SETUP
-#line 174 "lexer.l"
+#line 176 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 75:
 YY_RULE_SETUP
-#line 175 "lexer.l"
+#line 177 "lexer.l"
 { return(EXT_STORAGE); }
        YY_BREAK
 case 76:
 YY_RULE_SETUP
-#line 176 "lexer.l"
+#line 178 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 77:
 YY_RULE_SETUP
-#line 177 "lexer.l"
+#line 179 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 78:
 YY_RULE_SETUP
-#line 178 "lexer.l"
+#line 180 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 79:
 YY_RULE_SETUP
-#line 179 "lexer.l"
+#line 181 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 80:
 YY_RULE_SETUP
-#line 180 "lexer.l"
+#line 182 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 81:
 YY_RULE_SETUP
-#line 181 "lexer.l"
+#line 183 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 82:
 YY_RULE_SETUP
-#line 182 "lexer.l"
+#line 184 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 83:
 YY_RULE_SETUP
-#line 183 "lexer.l"
+#line 185 "lexer.l"
 { return(EXT_DECL); }
        YY_BREAK
 case 84:
 YY_RULE_SETUP
-#line 184 "lexer.l"
+#line 186 "lexer.l"
 { return(PUBLIC); }
        YY_BREAK
 case 85:
 YY_RULE_SETUP
-#line 185 "lexer.l"
+#line 187 "lexer.l"
 { return(PRIVATE); }
        YY_BREAK
 case 86:
 YY_RULE_SETUP
-#line 186 "lexer.l"
+#line 188 "lexer.l"
 { return(TYPED_OBJECT); }
        YY_BREAK
 case 87:
 YY_RULE_SETUP
-#line 187 "lexer.l"
+#line 189 "lexer.l"
 { return(ANY_OBJECT); }
        YY_BREAK
 case 88:
 YY_RULE_SETUP
-#line 188 "lexer.l"
+#line 190 "lexer.l"
 { return(_INCREF); }
        YY_BREAK
 case 89:
 YY_RULE_SETUP
-#line 189 "lexer.l"
+#line 191 "lexer.l"
 { return(EXTENSION); }
        YY_BREAK
 case 90:
 YY_RULE_SETUP
-#line 190 "lexer.l"
+#line 192 "lexer.l"
 { return(EXTENSION); }
        YY_BREAK
 case 91:
 YY_RULE_SETUP
-#line 191 "lexer.l"
+#line 193 "lexer.l"
 { return(ASM); }
        YY_BREAK
 case 92:
 YY_RULE_SETUP
-#line 192 "lexer.l"
+#line 194 "lexer.l"
 { return(ASM); }
        YY_BREAK
 case 93:
 YY_RULE_SETUP
-#line 193 "lexer.l"
+#line 195 "lexer.l"
 { return(ASM); }
        YY_BREAK
 case 94:
 YY_RULE_SETUP
-#line 194 "lexer.l"
+#line 196 "lexer.l"
 { return(TYPEOF); }
        YY_BREAK
 case 95:
 YY_RULE_SETUP
-#line 195 "lexer.l"
+#line 197 "lexer.l"
 { return(WATCH); }
        YY_BREAK
 case 96:
 YY_RULE_SETUP
-#line 196 "lexer.l"
+#line 198 "lexer.l"
 { return(STOPWATCHING); }
        YY_BREAK
 case 97:
 YY_RULE_SETUP
-#line 197 "lexer.l"
+#line 199 "lexer.l"
 { return(FIREWATCHERS); }
        YY_BREAK
 case 98:
 YY_RULE_SETUP
-#line 198 "lexer.l"
+#line 200 "lexer.l"
 { return(WATCHABLE); }
        YY_BREAK
 case 99:
 YY_RULE_SETUP
-#line 199 "lexer.l"
+#line 201 "lexer.l"
 { return(CLASS_DESIGNER); }
        YY_BREAK
 case 100:
 YY_RULE_SETUP
-#line 200 "lexer.l"
+#line 202 "lexer.l"
 { return(CLASS_NO_EXPANSION); }
        YY_BREAK
 case 101:
 YY_RULE_SETUP
-#line 201 "lexer.l"
+#line 203 "lexer.l"
 { return(CLASS_FIXED); }
        YY_BREAK
 case 102:
 YY_RULE_SETUP
-#line 202 "lexer.l"
+#line 204 "lexer.l"
 { return(CLASS_DEFAULT_PROPERTY); }
        YY_BREAK
 case 103:
 YY_RULE_SETUP
-#line 203 "lexer.l"
+#line 205 "lexer.l"
 { return(PROPERTY_CATEGORY); }
        YY_BREAK
 case 104:
 YY_RULE_SETUP
-#line 204 "lexer.l"
+#line 206 "lexer.l"
 { return(CLASS_DATA); }
        YY_BREAK
 case 105:
 YY_RULE_SETUP
-#line 205 "lexer.l"
+#line 207 "lexer.l"
 { return(CLASS_PROPERTY); }
        YY_BREAK
 case 106:
 YY_RULE_SETUP
-#line 206 "lexer.l"
+#line 208 "lexer.l"
 { return(SUBCLASS); }
        YY_BREAK
 case 107:
 YY_RULE_SETUP
-#line 207 "lexer.l"
+#line 209 "lexer.l"
 { return(NAMESPACE); }
        YY_BREAK
 case 108:
 YY_RULE_SETUP
-#line 208 "lexer.l"
+#line 210 "lexer.l"
 { return(DBTABLE); }
        YY_BREAK
 case 109:
 YY_RULE_SETUP
-#line 209 "lexer.l"
+#line 211 "lexer.l"
 { return(DBFIELD); }
        YY_BREAK
 case 110:
 YY_RULE_SETUP
-#line 210 "lexer.l"
+#line 212 "lexer.l"
 { return(DBINDEX); }
        YY_BREAK
 case 111:
 YY_RULE_SETUP
-#line 211 "lexer.l"
+#line 213 "lexer.l"
 { return(DATABASE_OPEN); }
        YY_BREAK
 case 112:
 YY_RULE_SETUP
-#line 213 "lexer.l"
+#line 215 "lexer.l"
 { return(check_type()); }     // {L}({L}|{D})*      { return(check_type()); }  // ("::"|(({IDENT}"::")*)){IDENT}  { return(check_type()); }     // {L}({L}|{D})*      { return(check_type()); }
        YY_BREAK
 case 113:
 YY_RULE_SETUP
-#line 215 "lexer.l"
+#line 217 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 114:
 YY_RULE_SETUP
-#line 217 "lexer.l"
+#line 219 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 115:
 YY_RULE_SETUP
-#line 218 "lexer.l"
+#line 220 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 116:
 YY_RULE_SETUP
-#line 219 "lexer.l"
+#line 221 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 117:
 YY_RULE_SETUP
-#line 221 "lexer.l"
+#line 223 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 118:
 YY_RULE_SETUP
-#line 222 "lexer.l"
+#line 224 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 119:
 YY_RULE_SETUP
-#line 223 "lexer.l"
+#line 225 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 120:
 YY_RULE_SETUP
-#line 225 "lexer.l"
+#line 227 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 121:
 YY_RULE_SETUP
-#line 226 "lexer.l"
+#line 228 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 122:
 YY_RULE_SETUP
-#line 227 "lexer.l"
+#line 229 "lexer.l"
 { return(CONSTANT); }
        YY_BREAK
 case 123:
 YY_RULE_SETUP
-#line 229 "lexer.l"
+#line 231 "lexer.l"
 { return(STRING_LITERAL); }
        YY_BREAK
 case 124:
 YY_RULE_SETUP
-#line 231 "lexer.l"
+#line 233 "lexer.l"
 { return(ELLIPSIS); }
        YY_BREAK
 case 125:
 YY_RULE_SETUP
-#line 232 "lexer.l"
+#line 234 "lexer.l"
 { return(RIGHT_ASSIGN); }
        YY_BREAK
 case 126:
 YY_RULE_SETUP
-#line 233 "lexer.l"
+#line 235 "lexer.l"
 { return(LEFT_ASSIGN); }
        YY_BREAK
 case 127:
 YY_RULE_SETUP
-#line 234 "lexer.l"
+#line 236 "lexer.l"
 { return(ADD_ASSIGN); }
        YY_BREAK
 case 128:
 YY_RULE_SETUP
-#line 235 "lexer.l"
+#line 237 "lexer.l"
 { return(SUB_ASSIGN); }
        YY_BREAK
 case 129:
 YY_RULE_SETUP
-#line 236 "lexer.l"
+#line 238 "lexer.l"
 { return(MUL_ASSIGN); }
        YY_BREAK
 case 130:
 YY_RULE_SETUP
-#line 237 "lexer.l"
+#line 239 "lexer.l"
 { return(DIV_ASSIGN); }
        YY_BREAK
 case 131:
 YY_RULE_SETUP
-#line 238 "lexer.l"
+#line 240 "lexer.l"
 { return(MOD_ASSIGN); }
        YY_BREAK
 case 132:
 YY_RULE_SETUP
-#line 239 "lexer.l"
+#line 241 "lexer.l"
 { return(AND_ASSIGN); }
        YY_BREAK
 case 133:
 YY_RULE_SETUP
-#line 240 "lexer.l"
+#line 242 "lexer.l"
 { return(XOR_ASSIGN); }
        YY_BREAK
 case 134:
 YY_RULE_SETUP
-#line 241 "lexer.l"
+#line 243 "lexer.l"
 { return(OR_ASSIGN); }
        YY_BREAK
 case 135:
 YY_RULE_SETUP
-#line 242 "lexer.l"
+#line 244 "lexer.l"
 { return(RIGHT_OP); }
        YY_BREAK
 case 136:
 YY_RULE_SETUP
-#line 243 "lexer.l"
+#line 245 "lexer.l"
 { return(LEFT_OP); }
        YY_BREAK
 case 137:
 YY_RULE_SETUP
-#line 244 "lexer.l"
+#line 246 "lexer.l"
 { return(INC_OP); }
        YY_BREAK
 case 138:
 YY_RULE_SETUP
-#line 245 "lexer.l"
+#line 247 "lexer.l"
 { return(DEC_OP); }
        YY_BREAK
 case 139:
 YY_RULE_SETUP
-#line 246 "lexer.l"
+#line 248 "lexer.l"
 { return(PTR_OP); }
        YY_BREAK
 case 140:
 YY_RULE_SETUP
-#line 247 "lexer.l"
+#line 249 "lexer.l"
 { return(AND_OP); }
        YY_BREAK
 case 141:
 YY_RULE_SETUP
-#line 248 "lexer.l"
+#line 250 "lexer.l"
 { return(OR_OP); }
        YY_BREAK
 case 142:
 YY_RULE_SETUP
-#line 249 "lexer.l"
+#line 251 "lexer.l"
 { return(LE_OP); }
        YY_BREAK
 case 143:
 YY_RULE_SETUP
-#line 250 "lexer.l"
+#line 252 "lexer.l"
 { return(GE_OP); }
        YY_BREAK
 case 144:
 YY_RULE_SETUP
-#line 251 "lexer.l"
+#line 253 "lexer.l"
 { return(EQ_OP); }
        YY_BREAK
 case 145:
 YY_RULE_SETUP
-#line 252 "lexer.l"
+#line 254 "lexer.l"
 { return(NE_OP); }
        YY_BREAK
 /* "::"        { return(CLASS_OP); } */
 case 146:
 YY_RULE_SETUP
-#line 254 "lexer.l"
+#line 256 "lexer.l"
 { return(';'); }
        YY_BREAK
 case 147:
 YY_RULE_SETUP
-#line 255 "lexer.l"
+#line 257 "lexer.l"
 { return('{'); }
        YY_BREAK
 case 148:
 YY_RULE_SETUP
-#line 256 "lexer.l"
+#line 258 "lexer.l"
 { return('}'); }
        YY_BREAK
 case 149:
 YY_RULE_SETUP
-#line 257 "lexer.l"
+#line 259 "lexer.l"
 { return(','); }
        YY_BREAK
 case 150:
 YY_RULE_SETUP
-#line 258 "lexer.l"
+#line 260 "lexer.l"
 { return(':'); }
        YY_BREAK
 case 151:
 YY_RULE_SETUP
-#line 259 "lexer.l"
+#line 261 "lexer.l"
 { return('='); }
        YY_BREAK
 case 152:
 YY_RULE_SETUP
-#line 260 "lexer.l"
+#line 262 "lexer.l"
 { return('('); }
        YY_BREAK
 case 153:
 YY_RULE_SETUP
-#line 261 "lexer.l"
+#line 263 "lexer.l"
 { return(')'); }
        YY_BREAK
 case 154:
 YY_RULE_SETUP
-#line 262 "lexer.l"
+#line 264 "lexer.l"
 { return('['); }
        YY_BREAK
 case 155:
 YY_RULE_SETUP
-#line 263 "lexer.l"
+#line 265 "lexer.l"
 { return(']'); }
        YY_BREAK
 case 156:
 YY_RULE_SETUP
-#line 264 "lexer.l"
+#line 266 "lexer.l"
 { return('.'); }
        YY_BREAK
 case 157:
 YY_RULE_SETUP
-#line 265 "lexer.l"
+#line 267 "lexer.l"
 { return('&'); }
        YY_BREAK
 case 158:
 YY_RULE_SETUP
-#line 266 "lexer.l"
+#line 268 "lexer.l"
 { return('!'); }
        YY_BREAK
 case 159:
 YY_RULE_SETUP
-#line 267 "lexer.l"
+#line 269 "lexer.l"
 { return('~'); }
        YY_BREAK
 case 160:
 YY_RULE_SETUP
-#line 268 "lexer.l"
+#line 270 "lexer.l"
 { return('-'); }
        YY_BREAK
 case 161:
 YY_RULE_SETUP
-#line 269 "lexer.l"
+#line 271 "lexer.l"
 { return('+'); }
        YY_BREAK
 case 162:
 YY_RULE_SETUP
-#line 270 "lexer.l"
+#line 272 "lexer.l"
 { return('*'); }
        YY_BREAK
 case 163:
 YY_RULE_SETUP
-#line 271 "lexer.l"
+#line 273 "lexer.l"
 { return('/'); }
        YY_BREAK
 case 164:
 YY_RULE_SETUP
-#line 272 "lexer.l"
+#line 274 "lexer.l"
 { return('%'); }
        YY_BREAK
 case 165:
 YY_RULE_SETUP
-#line 273 "lexer.l"
+#line 275 "lexer.l"
 { return('<'); }
        YY_BREAK
 case 166:
 YY_RULE_SETUP
-#line 274 "lexer.l"
+#line 276 "lexer.l"
 { return('>'); }
        YY_BREAK
 case 167:
 YY_RULE_SETUP
-#line 275 "lexer.l"
+#line 277 "lexer.l"
 { return('^'); }
        YY_BREAK
 case 168:
 YY_RULE_SETUP
-#line 276 "lexer.l"
+#line 278 "lexer.l"
 { return('|'); }
        YY_BREAK
 case 169:
 YY_RULE_SETUP
-#line 277 "lexer.l"
+#line 279 "lexer.l"
 { return('?'); }
        YY_BREAK
 case 170:
 YY_RULE_SETUP
-#line 278 "lexer.l"
+#line 280 "lexer.l"
 { return('$'); }
        YY_BREAK
 case YY_STATE_EOF(INITIAL):
-#line 280 "lexer.l"
+#line 282 "lexer.l"
 {
       while(include_stack_ptr && !fileStack[include_stack_ptr-1])
       {
@@ -2378,12 +2379,12 @@ case YY_STATE_EOF(INITIAL):
        YY_BREAK
 case 171:
 YY_RULE_SETUP
-#line 306 "lexer.l"
+#line 308 "lexer.l"
 { yylloc.start = yylloc.end; type_yylloc.start = type_yylloc.end; expression_yylloc.start = expression_yylloc.end;}
        YY_BREAK
 case 172:
 YY_RULE_SETUP
-#line 307 "lexer.l"
+#line 309 "lexer.l"
 {
    yylloc.end.charPos = 1; yylloc.end.line += yyleng; yylloc.start = yylloc.end;
    type_yylloc.end.charPos = 1; type_yylloc.end.line += yyleng; type_yylloc.start = type_yylloc.end;
@@ -2392,7 +2393,7 @@ YY_RULE_SETUP
        YY_BREAK
 case 173:
 YY_RULE_SETUP
-#line 312 "lexer.l"
+#line 314 "lexer.l"
 {
    yylloc.start.charPos++ /*= 3 - (yylloc.start.col % 3)*/; yylloc.end.charPos = yylloc.start.charPos; yylloc.start.pos = yylloc.end.pos;
    expression_yylloc.start.charPos++ /*= 3 - (expression_yylloc.start.col % 3)*/; expression_yylloc.end.charPos = expression_yylloc.start.charPos; expression_yylloc.start.pos = expression_yylloc.end.pos;
@@ -2401,12 +2402,12 @@ YY_RULE_SETUP
        YY_BREAK
 case 174:
 YY_RULE_SETUP
-#line 317 "lexer.l"
+#line 319 "lexer.l"
 { yylloc.start = yylloc.end; expression_yylloc.start = expression_yylloc.end;  type_yylloc.start = type_yylloc.end; }
        YY_BREAK
 case 175:
 YY_RULE_SETUP
-#line 318 "lexer.l"
+#line 320 "lexer.l"
 {
    yylloc.start = yylloc.end; expression_yylloc.start = expression_yylloc.end;  type_yylloc.start = type_yylloc.end;
    if(inCompiler)
@@ -2416,10 +2417,10 @@ YY_RULE_SETUP
        YY_BREAK
 case 176:
 YY_RULE_SETUP
-#line 325 "lexer.l"
+#line 327 "lexer.l"
 ECHO;
        YY_BREAK
-#line 2423 "lexer.ec"
+#line 2424 "lexer.ec"
 
        case YY_END_OF_BUFFER:
                {
@@ -3303,12 +3304,12 @@ int main()
        return 0;
        }
 #endif
-#line 325 "lexer.l"
+#line 327 "lexer.l"
 
 
 private:
 
-yywrap()
+int yywrap()
 {
    return(1);
 }
@@ -3349,7 +3350,7 @@ int comment()
 
 int commentCPP()
 {
-   int c, last = 0;
+   int c; //, last = 0;
    for(;;)
    {
       c = input();
@@ -3374,7 +3375,7 @@ int commentCPP()
          yylloc.end.charPos++;
          yylloc.end.pos++;
       }
-      last = c;
+      //last = c;
    }
    yylloc.start = yylloc.end;
    return 0;
@@ -3540,8 +3541,6 @@ int preprocessor()
             yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
             BEGIN(INITIAL);
          }
-         else
-            printf("");
       }
    }
    return 0;
index b3d0bcf..50ff4e7 100644 (file)
@@ -7,6 +7,8 @@ FS         (f|F|l|L|i|I|j|J)*
 IS         (u|U|l|L|i|I|j|J)*
 IDENT    {L}({L}|{D})*
 
+%option nounput
+
 %{
 import "ecdefs"
 #define YYLTYPE Location
@@ -48,7 +50,7 @@ void TESTTTT()
 YY_BUFFER_STATE include_stack[MAX_INCLUDE_DEPTH];
 File fileStack[MAX_INCLUDE_DEPTH];
 char sourceFileStack[MAX_INCLUDE_DEPTH][MAX_LOCATION];
-public void SetSomeSourceFileStack(char * fileName, int index) { strcpy(sourceFileStack[index], fileName); }
+public void SetSomeSourceFileStack(const char * fileName, int index) { strcpy(sourceFileStack[index], fileName); }
 YYLTYPE locStack[MAX_INCLUDE_DEPTH];
 AccessMode declModeStack[MAX_INCLUDE_DEPTH];
 int include_stack_ptr = 0;
@@ -326,7 +328,7 @@ L?\"(\\.|[^\\"])*\"     { return(STRING_LITERAL); }
 
 private:
 
-yywrap()
+int yywrap()
 {
    return(1);
 }
@@ -367,7 +369,7 @@ int comment()
 
 int commentCPP()
 {
-   int c, last = 0;
+   int c; //, last = 0;
    for(;;)
    {
       c = input();
@@ -392,7 +394,7 @@ int commentCPP()
          yylloc.end.charPos++;
          yylloc.end.pos++;
       }
-      last = c;
+      //last = c;
    }
    yylloc.start = yylloc.end;
    return 0;
@@ -558,8 +560,6 @@ int preprocessor()
             yy_switch_to_buffer( yy_create_buffer( fileInput, YY_BUF_SIZE ) );
             BEGIN(INITIAL);
          }
-         else
-            printf("");
       }
    }
    return 0;
index e6779df..823d071 100644 (file)
@@ -378,7 +378,7 @@ public bool LoadSymbols(const char * fileName, ImportType importType, bool loadD
                                  TrimLSpaces(line, line);
                                  if(regClass)
                                  {
-                                    Property prop = eClass_AddProperty(regClass, conversion ? null : name, line[0] ? line : 0, (void *)setStmt, (void *)getStmt, memberAccess);
+                                    Property prop = eClass_AddProperty(regClass, conversion ? null : name, line[0] ? line : 0, (void *)(uintptr)setStmt, (void *)(uintptr)getStmt, memberAccess);
                                     if(prop)
                                     {
                                        prop.compiled = false;
@@ -432,7 +432,7 @@ public bool LoadSymbols(const char * fileName, ImportType importType, bool loadD
                                  TrimLSpaces(line, line);
                                  if(regClass)
                                  {
-                                    eClass_AddClassProperty(regClass, name, line, (void *)setStmt, (void *)getStmt);
+                                    eClass_AddClassProperty(regClass, name, line, (void *)(uintptr)setStmt, (void *)(uintptr)getStmt);
                                  }
                               }
                               else if(!strcmp(line, "[Set]"))
index 8f6a987..161a3b6 100644 (file)
@@ -5,7 +5,7 @@ import "ecdefs"
 
 extern External curExternal;
 
-public void MangleClassName(char * className)
+/*public void MangleClassName(char * className)
 {
    char output[1024];
    int c, d = 0;
@@ -58,7 +58,7 @@ public void MangleClassName(char * className)
    // ChangeCh(className, ' ', '_');
    // ChangeCh(className, '*', '_');
 }
-
+*/
 public void FullClassNameCat(char * output, const char * className, bool includeTemplateParams)
 {
    int c;
@@ -268,7 +268,6 @@ static void CheckPublicExpression(Expression exp, AccessMode access)
             break;
          case castExp:
          {
-            Type type = exp.expType;
             CheckPublicTypeName(exp.cast.typeName, access);
             if(exp.cast.exp)
                CheckPublicExpression(exp.cast.exp, access);
@@ -454,7 +453,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
    char destructorName[1024];
    Class regClass;
    ClassFunction destructor = null, constructor = null;
-   bool redefinition = false;
+   //bool redefinition = false;
    bool isUnion = classType == unionClass;
 
    External external = null;
@@ -609,9 +608,11 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
       }
       for(def = definitions.first; def; def = def.next)
       {
+         yylloc = def.loc;
          if(def.type == declarationClassDef)
          {
             Declaration decl = def.decl;
+            yylloc = decl.loc;
 
             if(decl.type == structDeclaration)
             {
@@ -823,7 +824,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
          strcpy(className, "__ecereClass_");
          FullClassNameCat(className, symbol.string, true);
 
-         MangleClassName(className);
+         //MangleClassName(className);
 
          symbol.className = CopyString(className);
 
@@ -1147,7 +1148,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      strcat(name, "_Get_");
                      // strcat(name, propertyDef.id.string);
                      FullClassNameCat(name, propertyDef.id.string, true);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      params = MkList();
 
@@ -1196,7 +1197,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      strcat(name, "_Set_");
                      //strcat(name, propertyDef.id.string);
                      FullClassNameCat(name, propertyDef.id.string, true);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      params = MkList();
 
@@ -1271,7 +1272,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      strcat(name, "_IsSet_");
                      //strcat(name, propertyDef.id.string);
                      FullClassNameCat(name, propertyDef.id.string, true);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      params = MkList();
 
@@ -1316,7 +1317,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      strcat(name, "_");
                      //strcat(name, propertyDef.id.string);
                      FullClassNameCat(name, propertyDef.id.string, true);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      {
                         OldList * list = MkList();
@@ -1328,7 +1329,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                         strcat(name, "_");
                         //strcat(name, propertyDef.id.string);
                         FullClassNameCat(name, propertyDef.id.string, true);
-                        MangleClassName(name);
+                        //MangleClassName(name);
 
                         ListAdd(list, MkInitDeclarator(/*MkDeclaratorPointer(MkPointer(null, null), */
                               MkDeclaratorIdentifier(MkIdentifier(name))/*)*/, null));
@@ -1378,7 +1379,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      FullClassNameCat(name, symbol.string, false);
                      strcat(name, "_Get_");
                      strcat(name, propertyDef.id.string);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      params = MkList();
 
@@ -1455,7 +1456,7 @@ static void ProcessClass(ClassType classType, OldList definitions, Symbol symbol
                      FullClassNameCat(name, symbol.string, false);
                      strcat(name, "_Set_");
                      strcat(name, propertyDef.id.string);
-                     MangleClassName(name);
+                     //MangleClassName(name);
 
                      params = MkList();
                      /*
index a458979..374fca2 100644 (file)
@@ -277,8 +277,10 @@ void CreateRegisterModuleBody()
                        MkListOne(MkInitDeclarator(MkDeclaratorPointer(MkPointer(null,null), MkDeclaratorIdentifier(MkIdentifier("class"))), null))));
       #endif
       ListAdd(registerModuleBody.compound.declarations,
-         MkDeclaration(MkListOne(MkSpecifierName("ecere::com::Class")),
+         MkDeclaration((specifiers = MkListOne(MkSpecifierName("ecere::com::Class"))),
                        MkListOne(MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("class")), null))));
+      // Avoid unused warning here
+      specifiers->Add(MkSpecifierExtended(MkExtDeclAttrib(MkAttrib(ATTRIB, MkListOne(MkAttribute(CopyString("unused"), null))))));
 
       specifiers = MkList();
       ListAdd(specifiers, MkSpecifier(VOID));
@@ -382,7 +384,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             strcat(name, "_Set_");
             // strcat(name, prop.name);
             FullClassNameCat(name, prop.name, true);
-            MangleClassName(name);
+            //MangleClassName(name);
             ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
          }
          else
@@ -395,7 +397,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             strcat(name, "_Get_");
             // strcat(name, prop.name);
             FullClassNameCat(name, prop.name, true);
-            MangleClassName(name);
+            //MangleClassName(name);
 
             ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
          }
@@ -423,7 +425,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
          strcat(name, "_");
          FullClassNameCat(name, prop.name, true);
          // strcat(name, prop.name);
-         MangleClassName(name);
+         //MangleClassName(name);
 
          stmt = MkExpressionStmt(MkListOne(
             MkExpOp(MkExpIdentifier(MkIdentifier(name)), '=',
@@ -463,7 +465,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
                strcat(name, "_Set_");
                FullClassNameCat(name, prop.name, true);
                // strcat(name, prop.name);
-               MangleClassName(name);
+               //MangleClassName(name);
                ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
             }
             else
@@ -476,7 +478,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
                strcat(name, "_Get_");
                FullClassNameCat(name, prop.name, true);
                // strcat(name, prop.name);
-               MangleClassName(name);
+               //MangleClassName(name);
                ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
             }
             else
@@ -502,14 +504,14 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             strcat(name, "_");
             FullClassNameCat(name, prop.name, true);
             // strcat(name, prop.name);
-            MangleClassName(name);
+            //MangleClassName(name);
 
             strcpy(nameM, "__ecerePropM_");
             FullClassNameCat(nameM, regClass.fullName, false);
             strcat(nameM, "_");
             FullClassNameCat(nameM, prop.name, true);
             // strcat(nameM, prop.name);
-            MangleClassName(nameM);
+            //MangleClassName(nameM);
 
             if(prop.dataTypeString)
             {
@@ -531,7 +533,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
                strcat(name, "_IsSet_");
                FullClassNameCat(name, prop.name, false);
                // strcat(name, prop.name);
-               MangleClassName(name);
+               //MangleClassName(name);
 
                stmt = MkExpressionStmt(MkListOne(
                   MkExpOp(MkExpMember(MkExpIdentifier(MkIdentifier(nameM)), MkIdentifier("IsSet")), '=',
@@ -807,14 +809,14 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             strcat(name, "_");
             FullClassNameCat(name, prop.name, false);
             // strcat(name, prop.name);
-            MangleClassName(name);
+            //MangleClassName(name);
 
             strcpy(nameM, "__ecerePropM_");
             FullClassNameCat(nameM, regClass.fullName, true);
             strcat(nameM, "_");
             FullClassNameCat(nameM, prop.name, false);
             // strcat(nameM, prop.name);
-            MangleClassName(nameM);
+            //MangleClassName(nameM);
 
             args = MkListOne(MkExpCondition(MkExpIdentifier(MkIdentifier(nameM)), MkListOne(MkExpIdentifier(MkIdentifier(nameM))), MkExpIdentifier(MkIdentifier(name))));
             stmt = MkExpressionStmt(MkListOne(
@@ -850,7 +852,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             FullClassNameCat(name, regClass.fullName, true);
             strcat(name, "_Set_");
             strcat(name, classProperty.name);
-            MangleClassName(name);
+            //MangleClassName(name);
             ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
          }
          else
@@ -862,7 +864,7 @@ void RegisterMembersAndProperties(Class regClass, bool isMember, const char * cl
             FullClassNameCat(name, regClass.fullName, true);
             strcat(name, "_Get_");
             strcat(name, classProperty.name);
-            MangleClassName(name);
+            //MangleClassName(name);
 
             ListAdd(args, MkExpIdentifier(MkIdentifier(name)));
          }
index 6f458e7..209398c 100644 (file)
@@ -1228,7 +1228,7 @@ void DeclareStruct(const char * name, bool skipNoHead)
                char className[1024];
                strcpy(className, "__ecereClass_");
                FullClassNameCat(className, classSym.string, true);
-               MangleClassName(className);
+               //MangleClassName(className);
 
                // Testing This
                DeclareClass(classSym, className);
@@ -1243,7 +1243,7 @@ void DeclareStruct(const char * name, bool skipNoHead)
                char className[1024];
                strcpy(className, "__ecereClass_");
                FullClassNameCat(className, classSym.string, true);
-               MangleClassName(className);
+               //MangleClassName(className);
 
                // TOFIX: TESTING THIS...
                classSym.structExternal = external;
@@ -1314,7 +1314,7 @@ void DeclareProperty(Property prop, char * setName, char * getName)
    strcat(setName, "_Set_");
    // strcat(setName, prop.name);
    FullClassNameCat(setName, prop.name, true);
-   MangleClassName(setName);
+   //MangleClassName(setName);
 
    strcpy(getName, "__ecereProp_");
    FullClassNameCat(getName, prop._class.fullName, false);
@@ -1323,7 +1323,7 @@ void DeclareProperty(Property prop, char * setName, char * getName)
    // strcat(getName, prop.name);
 
    // To support "char *" property
-   MangleClassName(getName);
+   //MangleClassName(getName);
 
    if(prop._class.type == structClass)
       DeclareStruct(prop._class.fullName, false);
@@ -1580,7 +1580,7 @@ void DeclareProperty(Property prop, char * setName, char * getName)
          strcat(propName, "_");
          FullClassNameCat(propName, prop.name, true);
          // strcat(propName, prop.name);
-         MangleClassName(propName);
+         //MangleClassName(propName);
 
          {
             OldList * list = MkList();
@@ -1595,7 +1595,7 @@ void DeclareProperty(Property prop, char * setName, char * getName)
                // strcat(propName, prop.name);
                FullClassNameCat(propName, prop.name, true);
 
-               MangleClassName(propName);
+               //MangleClassName(propName);
 
                ListAdd(list, MkInitDeclarator(MkDeclaratorPointer(MkPointer(null, null),
                      MkDeclaratorIdentifier(MkIdentifier(propName))), null));
@@ -1830,7 +1830,6 @@ void ProcessMemberInitData(MemberInit member, Class _class, Class * curClass, Da
       {
          Class expClass = type._class.registered;
          Class cClass = null;
-         int c;
          int paramCount = 0;
          int lastParam = -1;
 
@@ -2481,7 +2480,7 @@ public void DeclareMethod(Method method, const char * name)
    Symbol symbol = method.symbol;
    if(!symbol || (!symbol.pointerExternal && method.type == virtualMethod) || symbol.id > (curExternal ? curExternal.symbol.idCode : -1))
    {
-      bool imported = false;
+      //bool imported = false;
       bool dllImport = false;
 
       if(!method.dataType)
@@ -2548,7 +2547,7 @@ public void DeclareMethod(Method method, const char * name)
          }
          if(!method.dataType.dllExport)
          {
-            imported = true;
+            //imported = true;
             if((method._class.module != privateModule || !strcmp(method._class.name, "float") || !strcmp(method._class.name, "double")) && method._class.module.importType != staticImport)
                dllImport = true;
          }
@@ -4913,7 +4912,6 @@ void ComputeInstantiation(Expression exp)
 
                      Property prop = null;
                      DataMember dataMember = null;
-                     Method method = null;
                      uint dataMemberOffset;
 
                      if(!ident)
@@ -5238,12 +5236,12 @@ void ComputeInstantiation(Expression exp)
                               {
                                  case _BoolType:
                                  case charType:       { byte v; type.isSigned ? GetChar(value, (char *)&v) : GetUChar(value, &v); part = (uint64)v; break; }
-                                 case shortType:      { uint16 v; type.isSigned ? GetShort(value, (uint16 *)&v) : GetUShort(value, &v); part = (uint64)v; break; }
+                                 case shortType:      { uint16 v; type.isSigned ? GetShort(value, (short *)&v) : GetUShort(value, &v); part = (uint64)v; break; }
                                  case intType:
-                                 case longType:       { uint v; type.isSigned ? GetInt(value, (uint *)&v) : GetUInt(value, &v); part = (uint64)v; break; }
-                                 case int64Type:      { uint64 v; type.isSigned ? GetInt64(value, (uint64 *)&v) : GetUInt64(value, &v); part = (uint64)v; break; }
-                                 case intPtrType:     { uintptr v; type.isSigned ? GetIntPtr(value, (uintptr *)&v) : GetUIntPtr(value, &v); part = (uint64)v; break; }
-                                 case intSizeType:    { uintsize v; type.isSigned ? GetIntSize(value, (uintsize *)&v) : GetUIntSize(value, &v); part = (uint64)v; break; }
+                                 case longType:       { uint v; type.isSigned ? GetInt(value, (int *)&v) : GetUInt(value, &v); part = (uint64)v; break; }
+                                 case int64Type:      { uint64 v; type.isSigned ? GetInt64(value, (int64 *)&v) : GetUInt64(value, &v); part = (uint64)v; break; }
+                                 case intPtrType:     { uintptr v; type.isSigned ? GetIntPtr(value, (intptr *)&v) : GetUIntPtr(value, &v); part = (uint64)v; break; }
+                                 case intSizeType:    { uintsize v; type.isSigned ? GetIntSize(value, (intsize *)&v) : GetUIntSize(value, &v); part = (uint64)v; break; }
                               }
                               bits |= part << bitMember.pos;
                            }
@@ -5319,11 +5317,11 @@ static bool Promote(Operand op, TypeKind kind, bool isSigned)
          break;
       case intPtrType:
          if(op.kind == charType || op.kind == shortType || op.kind == intType || op.kind == longType || op.kind == enumType || op.kind == _BoolType)
-            result = isSigned ? GetOpIntPtr(op, &op.i64) : GetOpUIntPtr(op, &op.i64);
+            result = isSigned ? GetOpIntPtr(op, &op.i64) : GetOpUIntPtr(op, &op.ui64);
          break;
       case intSizeType:
          if(op.kind == charType || op.kind == shortType || op.kind == intType || op.kind == longType || op.kind == enumType || op.kind == _BoolType)
-            result = isSigned ? GetOpIntSize(op, &op.ui64) : GetOpUIntSize(op, &op.ui64);
+            result = isSigned ? GetOpIntSize(op, &op.i64) : GetOpUIntSize(op, &op.ui64);
          break;
    }
    return result;
@@ -6087,7 +6085,7 @@ void ComputeExpression(Expression exp)
                         }
                         else if(_class.type == structClass)
                         {
-                           char * value = (exp.member.exp.type == instanceExp ) ? exp.member.exp.instance.data : null;
+                           byte * value = (exp.member.exp.type == instanceExp ) ? exp.member.exp.instance.data : null;
                            switch(type.kind)
                            {
                               case classType:
@@ -6177,7 +6175,7 @@ void ComputeExpression(Expression exp)
                char className[1024];
                strcpy(className, "__ecereClass_");
                FullClassNameCat(className, classSym.string, true);
-               MangleClassName(className);
+               //MangleClassName(className);
 
                DeclareClass(classSym, className);
 
@@ -6601,7 +6599,6 @@ void CheckTemplateTypes(Expression exp)
    else if(exp.expType && exp.expType.passAsTemplate && exp.destType && exp.usage.usageGet && exp.destType.kind != templateType && !exp.destType.passAsTemplate)
    {
       Expression newExp { };
-      Statement compound;
       Context context;
       *newExp = *exp;
       if(exp.destType) exp.destType.refCount++;
@@ -7024,7 +7021,6 @@ static void PrePrintType(Type type, char * string, bool fullName, Type parentTyp
 {
    if(type.kind == arrayType || type.kind == pointerType || type.kind == functionType || type.kind == methodType)
    {
-      Type attrType = null;
       if((type.kind == functionType || type.kind == methodType) && (!parentType || parentType.kind != pointerType))
          PrintAttribs(type, string);
       if(printConst && type.constant && (type.kind == functionType || type.kind == methodType))
@@ -8036,7 +8032,7 @@ void ProcessExpressionType(Expression exp)
       }
       case instanceExp:
       {
-         Class _class;
+         // Class _class;
          // Symbol classSym;
 
          if(!exp.instance._class)
@@ -9762,10 +9758,7 @@ void ProcessExpressionType(Expression exp)
          if(exp.call.arguments)
          {
             for(e = exp.call.arguments->first; e; e = e.next)
-            {
-               Type destType = e.destType;
                ProcessExpressionType(e);
-            }
          }
          break;
       }
@@ -9840,9 +9833,6 @@ void ProcessExpressionType(Expression exp)
                      char * colon = strstr(param.defaultArg.memberString, "::");
                      if(colon)
                      {
-                        char className[1024];
-                        Class sClass;
-
                         memcpy(thisClassTypeString, param.defaultArg.memberString, colon - param.defaultArg.memberString);
                         thisClassTypeString[colon - param.defaultArg.memberString] = '\0';
                      }
@@ -9857,7 +9847,6 @@ void ProcessExpressionType(Expression exp)
                   {
                      Class expClass = exp.expType._class.registered;
                      Class cClass = null;
-                     int c;
                      int paramCount = 0;
                      int lastParam = -1;
 
@@ -10436,7 +10425,6 @@ void ProcessExpressionType(Expression exp)
                      if(expClass)
                      {
                         Class cClass = null;
-                        int c;
                         int p = 0;
                         int paramCount = 0;
                         int lastParam = -1;
@@ -10452,7 +10440,6 @@ void ProcessExpressionType(Expression exp)
                            for(param = cClass.templateParams.first; param; param = param.next)
                            {
                               Class cClassCur = null;
-                              int c;
                               int cp = 0;
                               ClassTemplateParameter paramCur = null;
                               ClassTemplateArgument arg;
@@ -10643,7 +10630,7 @@ void ProcessExpressionType(Expression exp)
                   char className[1024];
                   strcpy(className, "__ecereClass_");
                   FullClassNameCat(className, classSym.string, true);
-                  MangleClassName(className);
+                  //MangleClassName(className);
 
                   DeclareClass(classSym, className);
 
@@ -10937,7 +10924,7 @@ void ProcessExpressionType(Expression exp)
             {
                Expression e;
                type = ProcessTypeString(typeString, false);
-               while(e = exp.list->first)
+               while((e = exp.list->first))
                {
                   exp.list->Remove(e);
                   e.destType = type;
@@ -11367,7 +11354,7 @@ static void ProcessSpecifier(Specifier spec, bool declareStruct)
       {
          if(spec.definitions)
          {
-            ClassDef def;
+            //ClassDef def;
             Symbol symbol = spec.id ? FindClass(spec.id.string) : null;
             //if(symbol)
                ProcessClass(spec.definitions, symbol);
@@ -11634,14 +11621,14 @@ static void CreateFireWatcher(Property prop, Expression object, Statement stmt)
    strcat(propName, "_");
    // strcat(propName, prop.name);
    FullClassNameCat(propName, prop.name, true);
-   MangleClassName(propName);
+   //MangleClassName(propName);
 
    strcpy(propNameM, "__ecerePropM_");
    FullClassNameCat(propNameM, prop._class.fullName, false);
    strcat(propNameM, "_");
    // strcat(propNameM, prop.name);
    FullClassNameCat(propNameM, prop.name, true);
-   MangleClassName(propNameM);
+   //MangleClassName(propNameM);
 
    if(prop.isWatchable)
    {
@@ -12005,7 +11992,7 @@ static void ProcessStatement(Statement stmt)
 
                      builtinCount = arrayExp.list->count;
                      type = ProcessTypeString(typeString, false);
-                     while(e = arrayExp.list->first)
+                     while((e = arrayExp.list->first))
                      {
                         arrayExp.list->Remove(e);
                         e.destType = type;
@@ -12564,7 +12551,7 @@ static void ProcessStatement(Statement stmt)
                            strcat(propName, "_");
                            // strcat(propName, prop.name);
                            FullClassNameCat(propName, prop.name, true);
-                           MangleClassName(propName);
+                           //MangleClassName(propName);
 
                            ListAdd(args, CopyExpression(object));
                            ListAdd(args, MkExpIdentifier(MkIdentifier(propName)));
@@ -12652,7 +12639,7 @@ static void ProcessFunction(FunctionDefinition function)
          strcpy(className, "__ecereClass_");
          FullClassNameCat(className, _class.fullName, true);
 
-         MangleClassName(className);
+         //MangleClassName(className);
 
          structName[0] = 0;
          FullClassNameCat(structName, _class.fullName, false);
@@ -12797,7 +12784,7 @@ static void ProcessFunction(FunctionDefinition function)
                char className[1024];
                strcpy(className, "__ecereClass_");
                FullClassNameCat(className, classSym.string, true);
-               MangleClassName(className);
+               //MangleClassName(className);
 
                // Testing This
                DeclareClass(classSym, className);
@@ -13122,6 +13109,13 @@ void ComputeDataTypes()
        }
    }
 
+   {
+      // Workaround until we have proper toposort for declarations reordering
+      External e = MkExternalDeclaration(MkDeclaration(MkListOne(MkStructOrUnion(structSpecifier, MkIdentifier("__ecereNameSpace__ecere__com__Instance"), null)), null));
+      ast->Insert(after, e);
+      after = e;
+   }
+
    temp.symbol = Symbol { id = -1000, idCode = -1000 };
    ast->Insert(after, temp);
    curExternal = temp;
index 31b4c0d..6455d73 100644 (file)
@@ -698,7 +698,7 @@ public void DeclareClass(Symbol classSym, const char * className)
       strcpy(className, "__ecereClass_");
       templateSym = FindClass(classSym.registered.templateClass.fullName);
       FullClassNameCat(className, templateSym.string, true);
-      MangleClassName(className);
+      //MangleClassName(className);
 
       DeclareClass(templateSym, className);
    }*/
@@ -1049,7 +1049,7 @@ static void ProcessExpression(Expression exp)
                   else
                      FullClassNameCat(className, inst._class.name, true);
 
-                  MangleClassName(className);
+                  //MangleClassName(className);
                   DeclareClass(classSym, className);
                   newCall = MkExpCall(QMkExpId("ecere::com::eInstance_New"), MkListOne(QMkExpId(className)));
                   newCall.usage = exp.usage;
@@ -2310,7 +2310,7 @@ static void ProcessDeclaration(Declaration decl)
                   /*{
                      strcpy(className, "__ecereClass_");
                      FullClassNameCat(className, classSym.string, true);
-                     MangleClassName(className);
+                     //MangleClassName(className);
                      DeclareClass(classSym, className);
                   }*/
 
@@ -2369,7 +2369,7 @@ static void ProcessDeclaration(Declaration decl)
                   }
                   else
                      FullClassNameCat(className, inst._class.name, true);
-                  MangleClassName(className);
+                  //MangleClassName(className);
 
                   if(classSym)
                      DeclareClass(classSym, className);
index 0eea463..6141d30 100644 (file)
@@ -273,7 +273,7 @@ static void ProcessExpression(Expression exp)
                   // Need the class itself here...
                   strcpy(className, "__ecereClass_");
                   FullClassNameCat(className, _class.fullName, true);
-                  MangleClassName(className);
+                  //MangleClassName(className);
 
                   if(!_class.symbol)
                      _class.symbol = FindClass(_class.fullName);
@@ -1027,7 +1027,7 @@ static void ProcessExpression(Expression exp)
 
                strcpy(className, "__ecereClass_");
                FullClassNameCat(className, exp.expType._class.string, true);
-               MangleClassName(className);
+               //MangleClassName(className);
 
                DeclareClass(exp.expType._class, className);
 
@@ -1054,7 +1054,7 @@ static void ProcessExpression(Expression exp)
                   if(_class.templateClass) _class = _class.templateClass;
                   strcpy(className, "__ecereClass_");
                   FullClassNameCat(className, _class.fullName, false /*true*/);
-                  MangleClassName(className);
+                  //MangleClassName(className);
 
                   if(!_class.symbol)
                      _class.symbol = FindClass(_class.fullName);
@@ -1332,7 +1332,6 @@ static void ProcessExpression(Expression exp)
                Expression next = exp.next, prev = exp.prev;
                Expression derefExp = exp.op.exp2;
                Expression refExp = exp.op.exp2.op.exp2;
-               Type expType = exp.expType, destType = exp.destType;
 
                derefExp.op.exp2 = null;
                FreeExpression(derefExp);
@@ -1742,7 +1741,6 @@ static void ProcessExpression(Expression exp)
                   Type type = memberExp ? memberExp.member.exp.expType : null;
                   Class regClass = (type && type.kind == classType && type._class) ? type._class.registered : null;
                   char className[1024];
-                  bool useInstance = false;
 
                   if(!exp.call.exp.expType.methodClass && !_class && type && type.classObjectType)
                      strcpy(className, "class");
@@ -1766,7 +1764,7 @@ static void ProcessExpression(Expression exp)
                      // Need the class itself here...
                      strcpy(className, "__ecereClass_");
                      FullClassNameCat(className, cl.fullName, true);
-                     MangleClassName(className);
+                     //MangleClassName(className);
 
                      if(!cl.symbol)
                         cl.symbol = FindClass(cl.fullName);
@@ -1990,7 +1988,7 @@ static void ProcessExpression(Expression exp)
                            // Need the class itself here...
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, cl.fullName, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
 
                            if(!cl.symbol)
                               cl.symbol = FindClass(cl.fullName);
@@ -2313,7 +2311,7 @@ static void ProcessExpression(Expression exp)
                         {
                            strcpy(className, "__ecereClass_");
                            FullClassNameCat(className, _class.fullName, true);
-                           MangleClassName(className);
+                           //MangleClassName(className);
 
                            if(!_class.symbol)
                               _class.symbol = FindClass(_class.fullName);
@@ -2690,7 +2688,7 @@ static void ProcessExpression(Expression exp)
                         // Need the class itself here...
                         strcpy(className, "__ecereClass_");
                         FullClassNameCat(className, _class.fullName, true);
-                        MangleClassName(className);
+                        //MangleClassName(className);
 
                         if(!_class.symbol)
                            _class.symbol = FindClass(_class.fullName);
@@ -2827,13 +2825,12 @@ static void ProcessExpression(Expression exp)
                   else
                   {
                      Expression bytePtr, e;
-                     Expression classExp;
                      Expression checkedExp;
                      char structName[1024];
                      char className[1024];
                      strcpy(className, "__ecereClass_");
                      FullClassNameCat(className, member._class.fullName, true);
-                     MangleClassName(className);
+                     //MangleClassName(className);
 
                      // classExp = QMkExpId(className);
 
@@ -3061,7 +3058,7 @@ static void ProcessExpression(Expression exp)
 
             strcpy(className, "__ecereClass_");
             FullClassNameCat(className, string, true);      // TODO: Verify this
-            MangleClassName(className);
+            //MangleClassName(className);
             DeclareClass(classSym, className);
             delete string;
 
@@ -3456,14 +3453,12 @@ public void ProcessMemberAccess()
       }
       else if(external.type == declarationExternal)
       {
-         //currentClass = external.function._class;
          if(external.declaration)
             ProcessDeclaration(external.declaration);
       }
       else if(external.type == classExternal)
       {
          ClassDefinition _class = external._class;
-         //currentClass = external.symbol.registered;
          if(_class.definitions)
          {
             ClassDef def;
index 15f5e83..2f76435 100644 (file)
@@ -29,7 +29,7 @@ Declarator PlugDeclarator(Declarator decl, Declarator baseDecl)
       {
          for(; base.declarator && base.declarator.type != identifierDeclarator; base = base.declarator)
          {
-            printf("");
+            //printf("");
          }
       }
       if(baseDecl)
index 4fdb978..f4773af 100644 (file)
@@ -92,9 +92,22 @@ private:
       while(true)
       {
          // *** NEED COMPARISON OPERATOR SUPPORT HERE INVOKING OnCompare, AS WELL AS TYPE INFORMATION PASSED ***
-         int result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass,
-            ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)node.key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)node.key,
-            ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)key);
+         int result;
+         byte * a, * b;
+         if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass)
+         {
+            a = (byte *)&node.key;
+            b = (byte *)&key;
+            a += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+            b += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+         }
+         else
+         {
+            a = (byte *)node.key;
+            b = (byte *)key;
+         }
+
+         result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
          if(!result)
          {
             return false;
@@ -151,9 +164,26 @@ private:
       while(this)
       {
          // *** NEED COMPARISON OPERATOR SUPPORT HERE INVOKING OnCompare, AS WELL AS TYPE INFORMATION PASSED ***
-         int result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass,
-            ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass) ? (((byte *)&(uint64)key) + __ENDIAN_PAD(Tclass.typeSize)) : (void *)key,
-            ((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass) ? (((byte *)&(uint64)this.key) + __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize)) : (void *)this.key);
+         int result;
+         byte * a, * b;
+         if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass)
+         {
+            a = (byte *)&(uint64)key;
+            a += __ENDIAN_PAD(Tclass.typeSize);
+         }
+         else
+            a = (byte *)key;
+
+         if((Tclass.type == systemClass && !Tclass.byValueSystemClass) || Tclass.type == bitClass || Tclass.type == enumClass || Tclass.type == unitClass || Tclass.type == structClass)
+         {
+            b = (byte *)&this.key;
+            b += __ENDIAN_PAD((Tclass.type == structClass) ? sizeof(void *) : Tclass.typeSize);
+         }
+         else
+            b = (byte *)this.key;
+
+         result = ((int (*)(void *, void *, void *))(void *)Tclass._vTbl[__ecereVMethodID_class_OnCompare])(Tclass, a, b);
+
          if(result < 0)
             this = left;
          else if(result > 0)
index ce30d12..a64d80a 100644 (file)
@@ -5512,7 +5512,7 @@ static void Application_Destructor(Application app)
 {
    if(app.parsedCommand)
    {
-      delete app.argv;
+      delete (void *)app.argv;
       delete app.parsedCommand;
    }
 }
index 99afd3e..2ad8103 100644 (file)
@@ -360,7 +360,7 @@ class DCOMClientThread : Thread
 
             if(!hasReturnValue)
             {
-               size = (uint)&((MethodReturnedPacket)0).args;
+               size = (uint)(uintptr)&((MethodReturnedPacket)0).args;
                packet = (MethodReturnedPacket)new0 byte[size];
                packet.type = (DCOMPacketType)htoled((DCOMPacketType)dcom_MethodReturned);
                packet.size = size;
@@ -742,7 +742,7 @@ public:
          bool result;
          CallAck ack = null;
          int callID = nextCallID++;
-         unsigned int size = (uint)&((CallMethodPacket)0).args + __ecereBuffer.size; // sizeof(class CallMethodPacket) + __ecereBuffer.size - 1;
+         unsigned int size = (uint)(uintptr)&((CallMethodPacket)0).args + __ecereBuffer.size; // sizeof(class CallMethodPacket) + __ecereBuffer.size - 1;
          CallMethodPacket packet = (CallMethodPacket)new0 byte[size];
          packet.type = (DCOMPacketType)htoled((DCOMPacketType)dcom_CallMethod);
          packet.size = size;
index 5cf05d7..1508ac5 100644 (file)
@@ -266,7 +266,7 @@ public class Table
    class_no_expansion;
    Table prev, next;
    Database db;
-   OldList listRows { offset = (uint)&((Row)0).prev };
+   OldList listRows { offset = (uint)(uintptr)&((Row)0).prev };
    Row cachedIdRow;
 public:
    virtual const String GetName();
index 69fb3ce..ea57036 100644 (file)
@@ -1949,18 +1949,18 @@ private:
                   sEntry = wordEntry;
                   lEntry = wordEntry;
                   if(!wordEntry.words) wordEntry.words = IdList { };
-                  wordEntry.words.Add((Id)mainEntry);
+                  wordEntry.words.Add((Id)(uintptr)mainEntry);
                }
                else if(!lEntry)
                {
                   lEntry = wordEntry;
                   if(!wordEntry.words) wordEntry.words = IdList { };
-                  wordEntry.words.Add((Id)sEntry);
+                  wordEntry.words.Add((Id)(uintptr)sEntry);
                }
                else
                {
                   if(!wordEntry.words) wordEntry.words = IdList { };
-                  wordEntry.words.Add((Id)lEntry);
+                  wordEntry.words.Add((Id)(uintptr)lEntry);
                }
                if(!wordEntry.items) wordEntry.items = IdList { };
                wordEntry.items.Add(id);
@@ -2136,7 +2136,7 @@ struct WordEntryBinaryTree : BinaryTree
          {
             int c;
             for(c = 0; c<node.words.count; c++)
-               node.words.ids[c] = (Id)btnodes[node.words.ids[c] - 1];
+               node.words.ids[c] = (Id)(uintptr)btnodes[node.words.ids[c] - 1];
          }
          if(node.left)
             node = node.left;
@@ -2199,7 +2199,7 @@ class WordEntry : struct
             channel.Serialize(words.count);
             for(c = 0; c < words.count; c++)
             {
-               uint id = ((WordEntry)words.ids[c]).id;
+               uint id = (uint)((WordEntry)(uintptr)words.ids[c]).id;
                channel.Serialize(id);
             }
          }
index 60bb9b0..31b4e16 100644 (file)
@@ -54,13 +54,11 @@ public:
       {
          if(frame.listing.Find())
          {
-            const char * name = frame.listing.name;
-            bool isDirectory = frame.listing.stats.attribs.isDirectory;
             bool peek = frame.listing.stats.attribs.isDirectory && OnFolder(frame.listing.path);
             if(!frame.listing.stats.attribs.isDirectory)
             {
                const char * path = frame.listing.path;
-               OnFile(frame.listing.path);
+               OnFile(path);
             }
             else if(peek)
             {
@@ -114,7 +112,7 @@ public:
    {
    }
 }
-
+/*
 static class IteratorThread : Thread
 {
    void Temp()
@@ -122,7 +120,7 @@ static class IteratorThread : Thread
       //listing = FileListing { dir, extensions = filter.extensions };  // there should be a sorted = true/false
    }
 }
-
+*/
 public class StackFrame
 {
    int tag;
index 6055503..fc6529e 100644 (file)
@@ -43,7 +43,6 @@ public:
          {
             for(s : value)
             {
-               char temp[MAX_LOCATION];
                list.AddString(s);
             }
          }
@@ -174,8 +173,6 @@ public:
          {
             if(listBox.currentRow == listBox.lastRow)
             {
-               DataRow r = listBox.lastRow;
-               const char * s = r.string;
                listBox.currentRow = listBox.AddString("");
             }
          }
@@ -241,7 +238,6 @@ class NamedStringsBox : CommonControl
          {
             for(s : value)
             {
-               char temp[MAX_LOCATION];
                row = list.AddRow();
                row.SetData(nameField, s.name);
                row.SetData(stringField, s.string);
@@ -374,8 +370,6 @@ class NamedStringsBox : CommonControl
          {
             if(listBox.currentRow == listBox.lastRow)
             {
-               DataRow r = listBox.lastRow;
-               const char * s = r.string;
                listBox.currentRow = list.AddRow();
                //row.SetData(nameField, null);
                //row.SetData(stringField, null);
index e62e8a3..dac321a 100644 (file)
@@ -397,7 +397,6 @@ private:
       SettingsIOResult result;
 
       IDESettings data = (IDESettings)this.data;
-      Platform runtimePlatform = GetRuntimePlatform();
       if(portable && moduleLocation[0] && FileExists(moduleLocation).isDirectory)
          data.ManagePortablePaths(moduleLocation, false);
       data.ForcePathSeparatorStyle(true);
@@ -1304,7 +1303,7 @@ bool LanguageRestart(const char * code, Application app, IDESettings settings, I
          {
             HKEY key = null;
             uint16 wLanguage[256];
-            HRESULT status;
+            DWORD status;
             wLanguage[0] = 0;
 
             RegCreateKeyEx(HKEY_CURRENT_USER, "Environment", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, null, &key, &status);
index 516d41e..308576a 100644 (file)
@@ -230,11 +230,11 @@ class OldIDESettings : GlobalAppSettings
          PutGlobalValue("FileOpenLocations", "Files", singleString, ideFileDialogLocation);
          PutGlobalValue("FileOpenLocations", "Projects", singleString, ideProjectFileDialogLocation);
 
-         PutGlobalValue("Editing", "UseFreeCaret", integer, (void *)useFreeCaret);
-         PutGlobalValue("Editing", "CaretFollowsScrolling", integer, (void *)caretFollowsScrolling);
-         PutGlobalValue("Editing", "ShowLineNumbers", integer, (void *)showLineNumbers);
+         PutGlobalValue("Editing", "UseFreeCaret", integer, (void *)(intptr)useFreeCaret);
+         PutGlobalValue("Editing", "CaretFollowsScrolling", integer, (void *)(intptr)caretFollowsScrolling);
+         PutGlobalValue("Editing", "ShowLineNumbers", integer, (void *)(intptr)showLineNumbers);
 
-         PutGlobalValue("Building", "NumParallelJobs", integer, (void *)(compiler.numJobs));
+         PutGlobalValue("Building", "NumParallelJobs", integer, (void *)(intptr)(compiler.numJobs));
          PutGlobalValue("View", "DisplayDriver", singleString, displayDriver);
          PutGlobalValue("Documentor", "Files", singleString, docDir);
 
index 63fa52c..1086949 100644 (file)
@@ -261,7 +261,7 @@ class ProjectSettings : Window
    }
 }
 
-#define OPTION(x) ((uint)(&((ProjectOptions)0).x))
+#define OPTION(x) ((uint)(uintptr)(&((ProjectOptions)0).x))
 
 // TOFIX: USING T INSTEAD OF Z HERE CAUSED US SOME CONFLICTS WITH T IN Array TEMPLATES
 
@@ -839,7 +839,6 @@ class MultiStringOptionBox : OptionBox<Array<String>>
 
          if(tempStrings)
          {
-            Array<String> ts = tempStrings;
             while(it.Next())
             {
                String s = it.data;
@@ -965,7 +964,6 @@ bool eString_IsPathRelatedTo(char * path, char * to)
 {
    if(path[0] && to[0])
    {
-      char rest[MAX_FILENAME];
       char pathPart[MAX_FILENAME], pathRest[MAX_LOCATION] = "";
       char toPart[MAX_FILENAME], toRest[MAX_LOCATION] = "";
       SplitDirectory(path, pathPart, pathRest);
@@ -1420,7 +1418,7 @@ class BuildTab : Tab
             String msg = PrintString($"Are you sure you wish to delete the ", config.name, $" configuration?");
             if(MessageBox { type = okCancel, text = title, contents = msg }.Modal() == ok)
             {
-               Iterator<Window> it { configSelector.controls };
+               //Iterator<Window> it { configSelector.controls };
                ProjectConfig configToDelete = config;
                /*
                while(it.Next())
@@ -1719,10 +1717,8 @@ class BuildTab : Tab
 
    void CreateConfigButtons()
    {
-      SelectorButton commonButton;
-
       // Create Config Buttons
-      commonButton = SelectorButton
+      SelectorButton
       {
          configSelector, master = this, text = $"Common", id = (int64)null; font = { font.faceName, font.size, true };
          checked = true;
@@ -1791,7 +1787,7 @@ class BuildTab : Tab
             {
                configButton.Activate();
                configButton.checked = true;
-               ConfigClicked(configButton, 0, 0, (Modifiers)null);
+               ConfigClicked(configButton, 0, 0, 0);
                break;
             }
          }
@@ -2247,7 +2243,6 @@ class BuilderTab : Tab
 
    void LoadSettings()
    {
-      bool disabled = strlen(((BuildTab)master).selectedPlatformName) > 0;
       OptionBox ob;
       for(ob = (OptionBox)firstSlave; ob; ob = (OptionBox)ob.nextSlave)
          if(eClass_IsDerived(ob._class, class(OptionBox)))
index 9b3ccc4..336276a 100644 (file)
@@ -41,6 +41,7 @@ class AboutIDE : Window
       versionCopyright.contents = message;
       delete message;
       delete shortVersion;
+      return true;
    }
 
    Label { this, text = $"Lead Architect and Developer", font = { $"Tahoma", 8.25f, bold = true }, position = { 16, 194 } };
index 958df50..5b8072d 100644 (file)
@@ -95,13 +95,12 @@ static void __dpl2(const char * file, int line, const char ** channels, int chan
    if(chan || !channels)
    {
       char string[MAX_F_STRING];
-      int len;
       char * time = PrintNow();
       va_list args;
       //ide.outputView.debugBox.Logf();
       Logf("%s %s:% 5d: %s%s", time, file, line, chan ? channels[channel] : "", chan && channels[channel][0] ? ": " : "");
       va_start(args, object);
-      len = PrintStdArgsToBuffer(string, sizeof(string), object, args);
+      PrintStdArgsToBuffer(string, sizeof(string), object, args);
       Log(string);
       va_end(args);
       Log("\n");
@@ -147,7 +146,7 @@ public char * StripQuotes2(char * string, char * output)
    int d = 0;
    bool quoted = false, escaped = false;
    char ch;
-   for(c = 0; ch = string[c]; c++)
+   for(c = 0; (ch = string[c]); c++)
    {
       if(quoted)
       {
@@ -707,8 +706,8 @@ class Debugger
 #define _ChangeUserAction(value) ChangeUserAction(__FILE__, __LINE__, value)
    void ChangeUserAction(const char * file, int line, DebuggerUserAction value)
    {
-      bool same = value == userAction;
 #if 0
+      bool same = value == userAction;
       __dpl2(file, line, _dpct, dplchan::debuggerUserAction, 0, userAction, /*same ? " *** == *** " : */" -> ", value);
 #endif
       userAction = value;
@@ -888,7 +887,6 @@ class Debugger
       _dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::GoToStackFrameLine(", stackLevel, ", ", askForLocation, ")");
       if(ide)
       {
-         char filePath[MAX_LOCATION];
          char sourceDir[MAX_LOCATION];
          Frame frame;
          CodeEditor editor = null;
@@ -984,7 +982,6 @@ class Debugger
 
    void HandleExit(char * reason, char * code)
    {
-      bool returnedExitCode = false;
       char verboseExitCode[128];
 
       _dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::HandleExit(", reason, ", ", code, ")");
@@ -1317,7 +1314,6 @@ class Debugger
    bool SourceDirDialog(const char * title, const char * startDir, const char * test, char * sourceDir)
    {
       bool result;
-      bool retry;
       String srcDir = null;
 
       _dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::SourceDirDialog()");
@@ -2951,7 +2947,6 @@ class Debugger
                      break;
                   case memberSymbolErrorExp:
                   {
-                     Class _class;
                      Expression memberExp = exp.member.exp;
                      Identifier memberID = exp.member.member;
                      Type type = memberExp.expType;
@@ -2994,8 +2989,6 @@ class Debugger
                      Identifier memberID = exp.member.member;
                      Type type = memberExp.expType;
                      Class _class = (type && memberID) ? (memberID && memberID.classSym) ? memberID.classSym.registered : ((type.kind == classType && type._class) ? type._class.registered : null) : null;
-                     char string[1024];
-                     string[0] = 0;
                      if(_class && memberID && memberID.string)
                         snprintf(watchmsg, sizeof(watchmsg), $"Missing property evaluation for \"%s\" in class \"%s\"", memberID.string, _class.name);
                      else
@@ -3047,7 +3040,7 @@ class Debugger
                            char value[4196];
                            //char temp[MAX_F_STRING * 32];
 
-                           ExpressionType evalError = dummyExp;
+                           //ExpressionType evalError = dummyExp;
                            /*if(exp.expType.kind == arrayType)
                               sprintf(temp, "(char*)0x%x", exp.address);
                            else
@@ -3077,7 +3070,7 @@ class Debugger
 
                               for(start = 0; !done && start + size <= 4096; start += size)
                               {
-                                 String s = null;
+                                 byte * s = null;
                                  while(!done && !s)
                                  {
                                     // Try to read 256 bytes at a time, then half if that fails
@@ -4139,7 +4132,7 @@ class Debugger
    {
       char path[MAX_LOCATION] = "";
       char file[MAX_FILENAME] = "";
-      bool symbolsLoaded = false;
+      //bool symbolsLoaded = false;
       DebugListItem item { };
       //_dpl2(_dpct, dplchan::debuggerCall, 0, "Debugger::FGODetectLoadedLibraryForAddedProjectIssues()");
       for(token : outTokens)
@@ -4154,7 +4147,7 @@ class Debugger
             }
             else if(!strcmp(item.name, "symbols-loaded"))
             {
-               symbolsLoaded = (atoi(item.value) == 1);
+               //symbolsLoaded = (atoi(item.value) == 1);
             }
             else if(!strcmp(item.name, "shlib-info"))
             {
@@ -4171,7 +4164,7 @@ class Debugger
                         StripQuotes(subItem.value, path);
                         MakeSystemPath(path);
                         GetLastDirectory(path, file);
-                        symbolsLoaded = true;
+                        //symbolsLoaded = true;
                      }
                   }
                }
@@ -5081,7 +5074,7 @@ class CodeLocation : struct
          char * temp;
          char loc[MAX_LOCATION];
          strcpy(loc, location);
-         for(temp = loc; temp = strstr(temp, ":"); temp++)
+         for(temp = loc; (temp = strstr(temp, ":")); temp++)
             colon = temp;
          if(colon)
          {
index f7cdad5..3908bd9 100644 (file)
@@ -347,7 +347,6 @@ class GDBDialog : Window
    {
       if(lastCommand && lastCommand.outputs.first)
       {
-         int c;
          char * s, * t;
          int i, j, outTksCount, subTksCount;
          char * outTokens[3200], * subTokens[3200];
index 4b13f6f..285a055 100644 (file)
@@ -13,13 +13,13 @@ static bool InsideIncl(Location loc, int line, int charPos)
    //       (loc.end.line > line || (loc.end.line == line && loc.end.charPos >= charPos));
    return !loc.start.included && loc.start.line <= line && loc.end.line >= line;
 }
-
+/*
 static bool Inside(Location loc, int line, int charPos)
 {
    //return !loc.start.included && (loc.start.line < line || (loc.start.line == line && loc.start.charPos < charPos)) &&
    //       (loc.end.line > line || (loc.end.line == line && loc.end.charPos > charPos));
    return !loc.start.included && loc.start.line < line &&  loc.end.line > line;
-}
+}*/
 
 static bool InsideEndIncl(Location loc, int line, int charPos)
 {
@@ -70,6 +70,7 @@ static Identifier DebugFindCtxSpecifier(Specifier spec, int line, int charPos)
                            if(idResult)
                               return idResult;
                            SetThisClass(oldThisClass);
+                           SetTopContext(oldTopContext);
                         }
                      }
                      break;
@@ -103,6 +104,7 @@ static Identifier DebugFindCtxSpecifier(Specifier spec, int line, int charPos)
                         idResult = DebugFindCtxStatement(def.propertyWatch.compound, line, charPos);
                         if(idResult) return idResult;
                         SetThisClass(oldThisClass);
+                        SetTopContext(oldTopContext);
                      }
                      break;
                }
@@ -227,8 +229,6 @@ Identifier DebugFindCtxExpression(Expression exp, int line, int charPos)
       case callExp:
       {
          int arg;
-         Type type = exp.call.exp.expType;
-
          if(InsideIncl(&exp.call.exp.loc, line, charPos))
          {
             idResult = DebugFindCtxExpression(exp.call.exp, line, charPos);
@@ -708,9 +708,6 @@ static Identifier DebugFindCtxFunction(FunctionDefinition func, int line, int ch
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
-      Symbol symbol = func.declarator.symbol;
-      Type type = symbol.type;
       Class oldThisClass = GetThisClass();
       Context oldTopContext = GetTopContext();
 
@@ -756,7 +753,7 @@ static Identifier DebugFindCtxInstance(Instantiation inst, int line, int charPos
    Identifier idResult = null;
    Class oldThisClass = GetThisClass();
    Symbol sym = inst._class ? FindClass(inst._class.name) : null;
-   bool insideSomething = false;
+   //bool insideSomething = false;
    bool insideBrackets;
 
    if(sym)
@@ -794,9 +791,9 @@ static Identifier DebugFindCtxInstance(Instantiation inst, int line, int charPos
 
          if(InsideIncl(&init.loc, line, charPos))
          {
-            if(InsideIncl(&init.loc, line, charPos))
+            /*if(InsideIncl(&init.loc, line, charPos))
                if(init.type == methodMembersInit)
-                  insideSomething = true;
+                  insideSomething = true;*/
 
             if(init.type == methodMembersInit && InsideIncl(&init.function.loc, line, charPos))
             {
@@ -824,7 +821,6 @@ static Identifier DebugFindCtxClassFunction(ClassFunction func, int line, int ch
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
       Symbol symbol = func.declarator ? func.declarator.symbol : null;
       Type type = symbol ? symbol.type : null;
       Class oldThisClass = GetThisClass();
@@ -867,6 +863,7 @@ static Identifier DebugFindCtxProperty(PropertyDef def, int line, int charPos)
       result = DebugFindCtxStatement(def.getStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    if(def.setStmt && InsideIncl(&def.setStmt.loc, line, charPos))
    {
@@ -876,6 +873,7 @@ static Identifier DebugFindCtxProperty(PropertyDef def, int line, int charPos)
       result = DebugFindCtxStatement(def.setStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    return null;
 }
@@ -907,6 +905,7 @@ static Identifier DebugFindCtxClassDef(ClassDef def, int line, int charPos)
                if(idResult)
                   return idResult;
                SetThisClass(oldThisClass);
+               SetTopContext(oldTopContext);
             }
          }
          break;
@@ -944,6 +943,7 @@ static Identifier DebugFindCtxClassDef(ClassDef def, int line, int charPos)
             if(idResult)
                return idResult;
             SetThisClass(oldThisClass);
+            SetTopContext(oldTopContext);
          }
          break;
    }
@@ -983,6 +983,7 @@ Identifier DebugFindCtxTree(OldList ast, int line, int charPos)
    External external;
 
    SetThisClass(null);
+   SetTopContext(GetGlobalContext());
    if(ast != null)
    {
       for(external = ast.first; external; external = external.next)
index 4235883..e77c03c 100644 (file)
@@ -411,7 +411,6 @@ void DebugComputeExpression(Expression exp)
 
                            Property prop = null;
                            DataMember dataMember = null;
-                           Method method = null;
                            uint dataMemberOffset;
 
                            if(!ident)
@@ -1278,7 +1277,6 @@ void DebugComputeExpression(Expression exp)
                      bool op2IsPointer = exp2.expType.kind == pointerType || exp2.expType.kind == arrayType;
                      bool addressResult = !op1IsPointer || !op2IsPointer;
                      uint size;
-                     int op = exp.op.op;
                      valid = true;
                      if(op1IsPointer)
                         size = ComputeTypeSize(exp1.expType.type);
@@ -1786,7 +1784,7 @@ void DebugComputeExpression(Expression exp)
                            case floatType:
                            {
                               float value;
-                              float (*Get)(float) = (void *) (convertTo ? prop.Set : prop.Get);
+                              float (*Get)(float) = (convertTo ? (void *)prop.Set : (void *)prop.Get);
                               GetFloat(memberExp, &value);
 
                               FreeExpContents(exp);
@@ -1799,7 +1797,7 @@ void DebugComputeExpression(Expression exp)
                            case doubleType:
                            {
                               double value;
-                              double (*Get)(double) = (void *) (convertTo ? prop.Set : prop.Get);
+                              double (*Get)(double) = (convertTo ? (void *)prop.Set : (void *)prop.Get);
                               GetDouble(memberExp, &value);
 
                               FreeExpContents(exp);
@@ -2004,7 +2002,7 @@ void DebugComputeExpression(Expression exp)
                            }
                            else if(_class.type == structClass)
                            {
-                              char * value = (memberExp.type == instanceExp ) ? memberExp.instance.data : null;
+                              byte * value = (memberExp.type == instanceExp ) ? memberExp.instance.data : null;
                               if(value)
                                  memberExp.instance.data = null;
 
@@ -2107,7 +2105,6 @@ void DebugComputeExpression(Expression exp)
                         char format;
                         int size;
                         Expression expNew;
-                        TypeKind kind = dummyType;
                         Type dataType = member.dataType;
 
                         if(!dataType)
@@ -2280,7 +2277,6 @@ void DebugComputeExpression(Expression exp)
                         int size = memberType.size;
                         Expression expNew;
                         Type dataType = memberType;
-                        TypeKind kind = dummyType;
 
                         if(dataType.kind == classType && dataType._class.registered &&
                               (dataType._class.registered.type == enumClass || dataType._class.registered.type == bitClass || dataType._class.registered.type == unitClass))
@@ -2866,7 +2862,7 @@ void ApplyUnitConverters(Expression exp)
             {
                if(convert)
                {
-                  float (*convertFn)(float) = (void *)(useGet ? convert.Get : convert.Set);
+                  float (*convertFn)(float) = (useGet ? (void *)convert.Get : (void *)convert.Set);
                   if(convertFn)
                      value = convertFn(value);
                }
@@ -2897,7 +2893,7 @@ void ApplyUnitConverters(Expression exp)
             {
                if(convert)
                {
-                  double (*convertFn)(double) = (void *)(useGet ? convert.Get : convert.Set);
+                  double (*convertFn)(double) = (useGet ? (void *)convert.Get : (void *)convert.Set);
                   if(convertFn)
                      value = convertFn(value);
                }
index 6015fe2..d84ae37 100644 (file)
@@ -51,7 +51,7 @@ import "ide"
 #ifdef __WIN32__
 static bool CALLBACK EnumWindowsBringToTop(HWND hwnd, LPARAM lParam)
 {
-   int pid;
+   DWORD pid;
    GetWindowThreadProcessId(hwnd, &pid);
    if(pid == lParam)
       BringWindowToTop(hwnd);
@@ -60,7 +60,7 @@ static bool CALLBACK EnumWindowsBringToTop(HWND hwnd, LPARAM lParam)
 
 static bool CALLBACK EnumWindowsSetForeground(HWND hwnd, LPARAM lParam)
 {
-   int pid;
+   DWORD pid;
    GetWindowThreadProcessId(hwnd, &pid);
    if(pid == lParam)
    {
index 6fd019e..6cd1c20 100644 (file)
@@ -681,7 +681,7 @@ class CodeEditor : Window
 
    OldList * ast;
    Context globalContext { };
-   OldList excludedSymbols { offset = (uint)&((Symbol)0).left };
+   OldList excludedSymbols { offset = (uint)(uintptr)&((Symbol)0).left };
 
    OldList defines;
    OldList imports;
@@ -796,7 +796,6 @@ class CodeEditor : Window
                   hide = true;
                else
                {
-                  const char * buffer = membersLine.text;
                   int c;
 
                   if(charPos - 1 < membersLoc.start.charPos)
@@ -2383,7 +2382,7 @@ class CodeEditor : Window
 
       if(editBox.syntaxHighlighting && fileName && ide.projectView)
       {
-         bool error, bpOnCursor, bpOnTopFrame, breakpointEnabled[128];
+         bool error, bpOnTopFrame, breakpointEnabled[128];
          int lineCursor, lineTopFrame, breakpointLines[128];
          int count, i, lineH, boxH, scrollY; //, firstLine; firstLine = editBox.firstLine;
          Debugger debugger = ide.debugger;
@@ -2393,7 +2392,7 @@ class CodeEditor : Window
          scrollY = editBox.scroll.y;
          displaySystem.FontExtent(editBox.font.font, " ", 1, null, &lineH);
 
-         bpOnCursor = bpOnTopFrame = false;
+         bpOnTopFrame = false;
          count = debugger.GetMarginIconsLineNumbers(fileName, breakpointLines, breakpointEnabled, 128, &error, &lineCursor, &lineTopFrame);
          if(count)
          {
@@ -2402,8 +2401,6 @@ class CodeEditor : Window
                if(breakpointLines[i] == lineCursor || breakpointLines[i] == lineTopFrame)
                {
                   bmpRes = breakpointEnabled[i] ? ide.bmpBpHalf : ide.bmpBpHalfDisabled;
-                  if(breakpointLines[i] == lineCursor)
-                     bpOnCursor = true;
                   if(breakpointLines[i] == lineTopFrame)
                      bpOnTopFrame = true;
                }
@@ -2548,7 +2545,6 @@ class CodeEditor : Window
    CodeEditor()
    {
       CodeObjectType c;
-      ProjectView projectView = ide.projectView;
 
       globalData.classes.CompareKey = (void *)BinaryTree::CompareString;
       globalData.defines.CompareKey = (void *)BinaryTree::CompareString;
@@ -2759,7 +2755,7 @@ class CodeEditor : Window
 
             next = _class.next;
 
-            for(;object = _class.instances.first;)
+            while((object = _class.instances.first))
             {
                if(object.instance)
                {
@@ -3092,7 +3088,6 @@ class CodeEditor : Window
                            classDefinition = _class;
                            oClass = classObject;
                         };
-                        Symbol symbol;
                         classes.Add(classObject);
 
                         incref instance;
@@ -3559,7 +3554,6 @@ class CodeEditor : Window
          if(selectedName)
          {
             ObjectInfo check;
-            int pos = 0;
 
             for(check = this.oClass.instances.first; check; check = check.next)
             {
@@ -3884,9 +3878,7 @@ class CodeEditor : Window
       Window control = (Window)object.instance;
       bool prev = false;
       bool methodPresent = false;
-      Class _class;
       bool lastIsMethod = true;
-      ObjectInfo classObject = object.oClass;
 
       if(inst)
       {
@@ -3968,7 +3960,7 @@ class CodeEditor : Window
                {
                   int count = 0;
                   int toDelete = 0;
-                  int toAdd = 0;
+                  //int toAdd = 0;
 
                   f.Seek(-1, current);
                   DeleteJunkBefore(f, position, &position);
@@ -3994,8 +3986,8 @@ class CodeEditor : Window
                            toDelete += count - 6;
                            count = 6;
                         }
-                        else
-                           toAdd = 6 - count;
+                        /*else
+                           toAdd = 6 - count;*/
                         break;
                      }
                   }
@@ -4144,7 +4136,6 @@ class CodeEditor : Window
                   if(!keptMember || !members.next)
                   {
                      char ch = 0;
-                     int count = 0;
 
                      if(keptMember && lastKept != members.dataMembers->last)
                      {
@@ -4605,7 +4596,6 @@ class CodeEditor : Window
 
          for(classObject = classes.first; classObject; classObject = classObject.next)
          {
-            Class _class;
             ClassDefinition classDef = classObject.classDefinition;
             Class regClass = eSystem_FindClass(this.privateModule, ((Specifier)classDef.baseSpecs->first).name);
             Instance test;
@@ -4724,7 +4714,6 @@ class CodeEditor : Window
                      if(!keptMember)
                      {
                         char ch = 0;
-                        int count = 0;
                         f.Seek(def.loc.end.pos - position - 1, current);
                         f.Getc(&ch);
 
@@ -5815,8 +5804,6 @@ class CodeEditor : Window
       for(_class = whatClass; _class && _class.type != systemClass; _class = _class.base)
       {
          Method method;
-         Property prop;
-         DataMember member;
 
          for(method = (Method)_class.methods.first; method; method = (Method)((BTNode)method).next)
          {
@@ -5854,7 +5841,6 @@ class CodeEditor : Window
       for(_class = whatClass; _class /*&& _class.type != systemClass*/; _class = _class.base)
       {
          Method method;
-         Property prop;
          DataMember member;
 
          for(method = (Method)_class.methods.first; method; method = (Method)((BTNode)method).next)
@@ -5924,8 +5910,6 @@ class CodeEditor : Window
    {
       if(type && (type.kind == classType || type.kind == structType || type.kind == unionType))
       {
-         Class _class;
-
          if(type.kind == classType)
          {
             if(type._class)
@@ -5981,14 +5965,14 @@ class CodeEditor : Window
 
       for(link = (BTNamedLink)nameSpace.defines.first; link; link = (BTNamedLink)((BTNode)link).next )
       {
-         DefinedExpression definedExp = link.data;
+         //DefinedExpression definedExp = link.data;
          DataRow row = membersList.AddString(link /*definedExp*/.name);
          row.icon = icons[typeData];
       }
 
       for(link = (BTNamedLink)nameSpace.functions.first; link; link = (BTNamedLink)((BTNode)link).next)
       {
-         GlobalFunction function = link.data;
+         //GlobalFunction function = link.data;
          DataRow row = membersList.AddString(link /*function*/.name);
          row.icon = icons[typeMethod];
       }
@@ -6336,7 +6320,7 @@ class CodeEditor : Window
    void OverrideVirtualFunction(ClassFunction function, Method method, Class _class, bool isInstance, bool extraIndent)
    {
       EditBoxStream f { editBox = editBox };
-      uint position = 0;
+      int position = 0;
       EditLine l1, l2;
       int x1,y1,x2,y2;
 
@@ -6444,7 +6428,6 @@ class CodeEditor : Window
    {
       bool didOverride = false;
       EditLine line = editBox.line;
-      const char * text = line.text;
       int lineNum, charPos;
       Expression exp = null;
       EditLine l1, l2;
@@ -6821,10 +6804,7 @@ class CodeEditor : Window
 
    void InvokeParameters(bool exact, bool reposition, bool caretMove)
    {
-      EditLine line = editBox.line;
-      const char * text = line.text;
       int lineNum, charPos;
-      Expression exp = null;
       EditLine l1, l2;
       int x1,y1, x2,y2;
 
index c0a6c81..a5ff035 100644 (file)
@@ -64,8 +64,6 @@ class CodeObject : struct
          const char * text = function ? function.declarator.symbol.string : "";
          int len = strlen(text);
          int start;
-         if(!text[0])
-            printf("");
          surface.TextExtent(name, nameLen, &nameW, null);
          surface.TextExtent(text, len, &w, null);
 
@@ -97,7 +95,7 @@ class CodeObject : struct
          delete attachBtn;
       }
 
-      while(compatible = this.compatible.first)
+      while((compatible = this.compatible.first))
       {
          ClassFunction function = compatible.data;
 
index ebf1239..1868f35 100644 (file)
@@ -42,7 +42,6 @@ class Designer : DesignerBase
    void AddDefaultMethod(Instance instance, Instance classInstance)
    {
       Class _class = instance._class;
-      int minID = MAXINT;
       Method defaultMethod = null;
 
       for( ; _class; _class = _class.base)
index 06d30d4..88bd7f9 100644 (file)
@@ -2,10 +2,10 @@ import "ide"
 
 import "CodeObject"
 
-static void UnusedFunction()
+static __attribute__((unused)) void UnusedFunction()
 {
-   int a;
-   Module b;
+   int a = 0;
+   Module b = 0;
    a.OnGetString(0,0,0);
    a.OnFree();
    a.OnCopy(null);
@@ -301,7 +301,7 @@ class Sheet : Window
 
       bool NotifySelect(DropBox control, DataRow row, Modifiers keyFlags)
       {
-         ObjectInfo selected = (ObjectInfo)(row ? row.tag : null);
+         ObjectInfo selected = (ObjectInfo)(row ? (void *)(intptr)row.tag : null);
          ToolBox toolBox = ((IDEWorkSpace)parent).toolBox;
 
          if(codeEditor && selected)
@@ -326,7 +326,6 @@ class Sheet : Window
          if(selected && selected.instance && codeEditor)
          {
             Class _class;
-            int c = 0;
             int rowHeight = methods.rowHeight;
 
             propertyValue.userData = (void *)selected.instance;
@@ -507,7 +506,6 @@ class Sheet : Window
          CodeObject object = control.GetData(methodName);
          Menu menu { };
          PopupMenu popupMenu;
-         MenuItem item;
          if(object.overriden == 0)
          {
             MenuItem { menu, $"Override", o, enter, bold = true, NotifySelect = OverrideMethodSelected };
@@ -769,7 +767,6 @@ class Sheet : Window
          // Fill up the properties
          while(_class != selected.instance._class)
          {
-            BitMember bitMember = null;
             Class lastClass = _class;
             Property propIt;
 
@@ -1199,14 +1196,12 @@ class Sheet : Window
    bool ReattachMethodSelected(MenuItem selection, Modifiers mods)
    {
       ClassFunction function = (ClassFunction)selection.id;
-      CodeObject object = methods.GetData(methodName);
       codeEditor.ReAttachMethod(attachMethod, function);
       return true;
    }
 
    bool OverrideMethodSelected(MenuItem selection, Modifiers mods)
    {
-      ClassFunction function = (ClassFunction)selection.id;
       CodeObject object = methods.GetData(methodName);
       if(object)
          codeEditor.AddMethod(object.method);
@@ -1215,7 +1210,6 @@ class Sheet : Window
 
    bool GotoMethodSelected(MenuItem selection, Modifiers mods)
    {
-      ClassFunction function = (ClassFunction)selection.id;
       CodeObject object = methods.GetData(methodName);
       if(object)
          codeEditor.GoToMethod(object.method.name);
@@ -1224,7 +1218,6 @@ class Sheet : Window
 
    bool DetachMethodSelected(MenuItem selection, Modifiers mods)
    {
-      ClassFunction function = (ClassFunction)selection.id;
       CodeObject object = methods.GetData(methodName);
       if(object)
          codeEditor.DetachMethod(object.method, object.function, object.overriden);
@@ -1233,7 +1226,6 @@ class Sheet : Window
 
    bool DeleteMethodSelected(MenuItem selection, Modifiers mods)
    {
-      ClassFunction function = (ClassFunction)selection.id;
       CodeObject object = methods.GetData(methodName);
       if(object)
          object.deleteBtn.NotifyClicked(this, object.deleteBtn, 0,0,0);
@@ -1250,8 +1242,6 @@ class Sheet : Window
 
    void CreateButtons(CodeObject codeObject, int y, int h, DataRow row)
    {
-      BitmapResource bitmap;
-
       if(codeObject.overriden)
       {
          if(codeObject.overriden == 1)
@@ -1568,7 +1558,7 @@ public:
             }
             else
             {
-               bool freeDataForm = false, freeDataTest = false;
+               //bool freeDataForm = false, freeDataTest = false;
                // Because contents property is broken for mutiline EditBox at the moment
                if(!strcmp(prop.name, "contents") && !strcmp(prop._class.name, "EditBox") && ((EditBox)object).multiLine)
                {
@@ -1762,7 +1752,6 @@ public:
 
             if(this.subMember || this.subProperty)
             {
-               Class _class;
                Instance current = (Instance)((void *(*)(void *))(void *)prop.Get)(object);
                propObject = valueData.p = eInstance_New(dataType);
                CopyInstanceData(dataType, propObject, current);
index e53bea4..8d2fd6a 100644 (file)
@@ -2,9 +2,9 @@ import "ide"
 
 extern int __ecereVMethodID___ecereNameSpace__ecere__gui__Window_OnLeftButtonUp;
 
-static void Dummy()
+static __attribute__((unused)) void Dummy()
 {
-   Window a;
+   Window a = 0;
    a.OnLeftButtonUp(0,0,0);
 }
 
index 14918df..1eb73a3 100644 (file)
@@ -71,6 +71,7 @@ static Identifier FindCtxSpecifier(Specifier spec, int line, int charPos)
                            if(idResult)
                               return idResult;
                            SetThisClass(oldThisClass);
+                           SetTopContext(oldTopContext);
                         }
                      }
                      break;
@@ -104,6 +105,7 @@ static Identifier FindCtxSpecifier(Specifier spec, int line, int charPos)
                         idResult = FindCtxStatement(def.propertyWatch.compound, line, charPos);
                         if(idResult) return idResult;
                         SetThisClass(oldThisClass);
+                        SetTopContext(oldTopContext);
                      }
                      break;
                }
@@ -738,9 +740,6 @@ static Identifier FindCtxFunction(FunctionDefinition func, int line, int charPos
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
-      Symbol symbol = func.declarator.symbol;
-      Type type = symbol.type;
       Class oldThisClass = GetThisClass();
       Context oldTopContext = GetTopContext();
 
@@ -941,7 +940,6 @@ static Identifier FindCtxClassFunction(ClassFunction func, int line, int charPos
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
       Symbol symbol = func.declarator ? func.declarator.symbol : null;
       Type type = symbol ? symbol.type : null;
       Class oldThisClass = GetThisClass();
@@ -1006,6 +1004,7 @@ static Identifier FindCtxProperty(PropertyDef def, int line, int charPos)
       result = FindCtxStatement(def.getStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    if(def.setStmt && Inside(&def.setStmt.loc, line, charPos))
    {
@@ -1015,6 +1014,7 @@ static Identifier FindCtxProperty(PropertyDef def, int line, int charPos)
       result = FindCtxStatement(def.setStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    return null;
 }
@@ -1046,6 +1046,7 @@ static Identifier FindCtxClassDef(ClassDef def, int line, int charPos)
                if(idResult)
                   return idResult;
                SetThisClass(oldThisClass);
+               SetTopContext(oldTopContext);
             }
          }
          break;
@@ -1081,6 +1082,7 @@ static Identifier FindCtxClassDef(ClassDef def, int line, int charPos)
             idResult = FindCtxStatement(def.propertyWatch.compound, line, charPos);
             if(idResult) return idResult;
             SetThisClass(oldThisClass);
+            SetTopContext(oldTopContext);
          }
          break;
    }
@@ -1109,7 +1111,7 @@ static Identifier FindCtxClass(ClassDefinition _class, int line, int charPos)
          }
       }
    }
-   if(!insideSomething && line > _class.blockStart.start.line || (line == _class.blockStart.start.line && charPos >= _class.blockStart.start.charPos) )
+   if(!insideSomething && (line > _class.blockStart.start.line || (line == _class.blockStart.start.line && charPos >= _class.blockStart.start.charPos)) )
    {
       insideClass = _class.symbol.registered;
       return (void *)-1;
@@ -1131,6 +1133,7 @@ Identifier FindCtxTree(OldList ast, int line, int charPos)
    insideClass = null;
    ctxInsideExp = null;
    SetThisClass(null);
+   SetTopContext(GetGlobalContext());
    insideFunction = null;
    insideInstance = false;
    isAfterEqual = false;
index 8b9e971..ee7ed76 100644 (file)
@@ -404,7 +404,6 @@ static Expression FindExpStatement(Statement stmt, int line, int charPos)
       case fireWatchersStmt:
       case stopWatchingStmt:
       {
-         Identifier _watch;
          if(stmt._watch.watcher && Inside(&stmt._watch.watcher.loc, line, charPos))
          {
             expResult = FindExpExpression(stmt._watch.watcher, line, charPos);
@@ -523,6 +522,7 @@ static Expression FindExpSpecifier(Specifier spec, int line, int charPos)
                            if(expResult)
                               return expResult;
                            SetThisClass(oldThisClass);
+                           SetTopContext(oldTopContext);
                         }
                      }
                      break;
@@ -556,6 +556,7 @@ static Expression FindExpSpecifier(Specifier spec, int line, int charPos)
                         expResult = FindExpStatement(def.propertyWatch.compound, line, charPos);
                         if(expResult) return expResult;
                         SetThisClass(oldThisClass);
+                        SetTopContext(oldTopContext);
                      }
                      break;
                }
@@ -634,9 +635,6 @@ static Expression FindExpFunction(FunctionDefinition func, int line, int charPos
    {
       Expression result;
 
-      Identifier id = GetDeclId(func.declarator);
-      Symbol symbol = func.declarator.symbol;
-      Type type = symbol.type;
       Class oldThisClass = GetThisClass();
       Context oldTopContext = GetTopContext();
 
@@ -707,7 +705,6 @@ static Expression FindExpClassFunction(ClassFunction func, int line, int charPos
    {
       Expression result;
 
-      Identifier id = GetDeclId(func.declarator);
       Symbol symbol = func.declarator ? func.declarator.symbol : null;
       Type type = symbol?symbol.type:null;
       Class oldThisClass = GetThisClass();
@@ -820,6 +817,8 @@ Expression FindExpTree(OldList ast, int line, int charPos)
 {
    Expression expResult;
    External external;
+   SetThisClass(null);
+   SetTopContext(GetGlobalContext());
    if(ast != null)
    {
       for(external = ast.first; external; external = external.next)
index 3a120ee..8cbad12 100644 (file)
@@ -29,11 +29,11 @@ static bool Inside(Location loc, int line, int charPos)
           (loc.end.line > line || (loc.end.line == line && loc.end.charPos > charPos));
 }
 
-static bool InsideEndIncl(Location loc, int line, int charPos)
+/*static bool InsideEndIncl(Location loc, int line, int charPos)
 {
    return !loc.start.included && (loc.start.line < line || (loc.start.line == line && loc.start.charPos < charPos)) &&
           (loc.end.line > line || (loc.end.line == line && loc.end.charPos >= charPos));
-}
+}*/
 
 Identifier FindParamsIdentifier(Identifier id, int line, int charPos)
 {
@@ -611,6 +611,7 @@ static Identifier FindParamsSpecifier(Specifier spec, int line, int charPos)
                            if(idResult)
                               return idResult;
                            SetThisClass(oldThisClass);
+                           SetTopContext(oldTopContext);
                         }
                      }
                      break;
@@ -644,6 +645,7 @@ static Identifier FindParamsSpecifier(Specifier spec, int line, int charPos)
                         idResult = FindParamsStatement(def.propertyWatch.compound, line, charPos);
                         if(idResult) return idResult;
                         SetThisClass(oldThisClass);
+                        SetTopContext(oldTopContext);
                      }
                      break;
                }
@@ -722,9 +724,6 @@ static Identifier FindParamsFunction(FunctionDefinition func, int line, int char
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
-      Symbol symbol = func.declarator.symbol;
-      Type type = symbol.type;
       Class oldThisClass = GetThisClass();
       Context oldTopContext = GetTopContext();
 
@@ -934,7 +933,6 @@ static Identifier FindParamsClassFunction(ClassFunction func, int line, int char
    {
       Identifier idResult;
 
-      Identifier id = GetDeclId(func.declarator);
       Symbol symbol = func.declarator ? func.declarator.symbol : null;
       Type type = symbol ? symbol.type : null;
       Class oldThisClass = GetThisClass();
@@ -962,6 +960,7 @@ static Identifier FindParamsProperty(PropertyDef def, int line, int charPos)
       result = FindParamsStatement(def.getStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    if(def.setStmt && Inside(&def.setStmt.loc, line, charPos))
    {
@@ -971,6 +970,7 @@ static Identifier FindParamsProperty(PropertyDef def, int line, int charPos)
       result = FindParamsStatement(def.setStmt, line, charPos);
       if(result) return result;
       SetThisClass(oldThisClass);
+      SetTopContext(oldTopContext);
    }
    return null;
 }
@@ -1002,6 +1002,7 @@ static Identifier FindParamsClassDef(ClassDef def, int line, int charPos)
                if(idResult)
                   return idResult;
                SetThisClass(oldThisClass);
+               SetTopContext(oldTopContext);
             }
          }
          break;
@@ -1034,6 +1035,7 @@ static Identifier FindParamsClassDef(ClassDef def, int line, int charPos)
             idResult = FindParamsStatement(def.propertyWatch.compound, line, charPos);
             if(idResult) return idResult;
             SetThisClass(oldThisClass);
+            SetTopContext(oldTopContext);
          }
          break;
    }
@@ -1082,6 +1084,7 @@ Identifier FindParamsTree(OldList ast, int line, int charPos)
    insideClass = null;
    paramsInsideExp = null;
    SetThisClass(null);
+   SetTopContext(GetGlobalContext());
    paramsID = -1;
    functionType = null;
    instanceType = null;
index 222abe6..7cf99dc 100644 (file)
@@ -31,7 +31,7 @@ class CompilersDetectionDialog : Window
             char compilerPath[MAX_LOCATION];
             compilerPath[0] = '\0';
             GetEnvironment(compilerSignatureEnvVars[selectedCompilerType], compilerPath, sizeof(compilerPath));
-            if(compilerPath && compilerPath[0] && FileExists(compilerPath).isDirectory)
+            if(compilerPath[0] && FileExists(compilerPath).isDirectory)
             {
                PathCat(compilerPath, "vsvars32.bat"); // is this file name constant and this file always present?
                if(FileExists(compilerPath).isFile)
@@ -155,7 +155,7 @@ class CompilersDetectionDialog : Window
          {
             compilerPath[0] = '\0';
             GetEnvironment(varName, compilerPath, sizeof(compilerPath));
-            if(compilerPath && compilerPath[0] && FileExists(compilerPath).isDirectory)
+            if(compilerPath[0] && FileExists(compilerPath).isDirectory)
             {
                PathCat(compilerPath, "vsvars32.bat"); // is this file name constant and this file always present?
                if(FileExists(compilerPath).isFile)
index 42cff39..06eecb2 100644 (file)
@@ -446,7 +446,6 @@ private:
 
    bool OnPostCreate()
    {
-      bool disabled;
       bool withWorkspace = ide.workspace != null;
       DataRow row;
       if(!inDirectoryRow)
@@ -507,8 +506,6 @@ private:
 
    void SearchStart()
    {
-      char text[2048];
-
       searchThread.active = true;
       searchThread.project = null;
       searchThread.projectNode = null;
@@ -528,7 +525,7 @@ private:
       {
          searchThread.mode = project;
          searchThread.project = (Project)findIn.currentRow.tag;
-         searchThread.projectNode = (ProjectNode)(findWherePrjNode.currentRow ? findWherePrjNode.currentRow.tag : null);
+         searchThread.projectNode = (ProjectNode)(findWherePrjNode.currentRow ? (void *)(intptr)findWherePrjNode.currentRow.tag : null);
       }
       //searchThread.nameMatchCase = nameMatchCase.checked;
       //searchThread.nameWholeWord = nameWholeWord.checked;
@@ -649,7 +646,7 @@ private:
 
    unsigned int Main()
    {
-      int frame, treeTop = 0;
+      int frame;
       int globalFindCount = 0, filesSearchedCount = 0, filesMatchedCount = 0, dirsMatchedCount = 0;
       //double lastTime = GetTime();
       SearchStackFrame stack[stackSize];
@@ -826,8 +823,6 @@ private:
       }
       else if(mode == workspace || mode == project)
       {
-         int len;
-         char path[MAX_LOCATION];
          bool firtIteration = true;
          Project prj = project;
          ProjectNode stack[1024];
@@ -1078,8 +1073,6 @@ private:
          while(f.GetLine(line, 65536/* should there be a - 1 here? */) && !abortNow)
          {
             int col = 0;
-            char * find = null;
-            int inLineFindCount = 0;
             if(SearchString(line, 0, contentCriteria, contentMatchCase, contentWholeWord) && !abortNow)
             {
                int lastLineNum = 0;
index c7cec7f..9521fac 100644 (file)
@@ -71,8 +71,6 @@ class GlobalSettingsDialog : Window
             bool editorSettingsChanged = false;
             bool compilerSettingsChanged = false;
             bool projectOptionsChanged = false;
-            bool workspaceOptionsChanged = false;
-
             if(editorTab.modifiedDocument)
             {
                if(editorTab.useFreeCaret.checked != ideSettings.useFreeCaret ||
@@ -88,7 +86,6 @@ class GlobalSettingsDialog : Window
 
             if(compilersTab.modifiedDocument)
             {
-               Workspace workspace = ide.workspace;
                if(strcmp(compilersTab.compilerConfigsDir.path, ideSettings.compilerConfigsDir))
                   ideSettings.compilerConfigsDir = compilersTab.compilerConfigsDir.path;
                ideSettings.compilerConfigs.Free();
@@ -119,7 +116,6 @@ class GlobalSettingsDialog : Window
                   if(!ideSettings.defaultCompiler || strcmp(row.string, ideSettings.defaultCompiler))
                   {
                      ideSettings.defaultCompiler = row.string;
-                     workspaceOptionsChanged = true;
                   }
                }
             }
index a495934..bbdb833 100644 (file)
@@ -481,7 +481,6 @@ class QuickProjectDialog : Window
          projectWindow = ide.CreateProjectView(workspace, filePath);
 
          {
-            char extension[MAX_EXTENSION];
             Window document = null;
             for(document = ide.firstChild; document; document = document.next)
             {
index ac8b790..985f2c8 100644 (file)
@@ -63,7 +63,7 @@ class PictureEdit : Window
             {
                if(bitmap)
                {
-                  ColorAlpha * palette = bitmap.Quantize(0, 255);
+                  //ColorAlpha * palette = bitmap.Quantize(0, 255);
                   bitmapNotIndexed = { };
                   bitmapNotIndexed.Copy(bitmap);
                   bitmapNotIndexed.Convert(null, pixelFormat888, null);
index 67c07a5..f31cb30 100644 (file)
@@ -523,7 +523,7 @@ class IDEWorkSpace : Window
          if(activeFrame)
          {
             bool error;
-            int lineCursor, lineTopFrame, activeThread, hitThread;
+            int lineCursor, lineTopFrame;
             int lineH, scrollY, boxH;
             BitmapResource bmp;
             Breakpoint bp = null;
@@ -531,8 +531,8 @@ class IDEWorkSpace : Window
             boxH = clientSize.h;
             scrollY = editBox.scroll.y;
             displaySystem.FontExtent(editBox.font.font, " ", 1, null, &lineH);
-            activeThread = debugger.activeThread;
-            hitThread = debugger.hitThread;
+            //activeThread = debugger.activeThread;
+            //hitThread = debugger.hitThread;
             debugger.GetCallStackCursorLine(&error, &lineCursor, &lineTopFrame);
 
             // TODO: improve bp drawing... it should be visible even if it's not on the activeFrame
@@ -1757,7 +1757,6 @@ class IDEWorkSpace : Window
       if(this)
       {
          Window child;
-         bool inDebugMode = debugger.isActive;
          bool callStackVisible = expand ? false : callStackView.visible;
          bool threadsVisible = expand ? false : threadsView.visible;
          bool watchesVisible = expand ? false : watchesView.visible;
@@ -2125,7 +2124,6 @@ class IDEWorkSpace : Window
       bool running = isDebuggerRunning;
       bool stopped = isDebuggerStopped;
       bool active = debugger.isActive;
-      bool noBreakpointToggle = !project;
 
       bool isNotRunning    = unavailable || !running;
       bool isNotNotRunning = unavailable || running;
@@ -2288,7 +2286,6 @@ class IDEWorkSpace : Window
                {
                   for(;;)
                   {
-                     Project project;
                      Workspace workspace = null;
 
                      if(FileExists(filePath))
@@ -2304,12 +2301,10 @@ class IDEWorkSpace : Window
                            workspace = LoadWorkspace(filePath, null);
                         else
                            return null;
-                        //project = LoadProject(filePath, null);
                      }
 
                      if(workspace)
                      {
-                        char absolutePath[MAX_LOCATION];
                         CreateProjectView(workspace, filePath);
                         document = projectView;
 
@@ -3419,7 +3414,6 @@ class IDEWorkSpace : Window
    IDEWorkSpace()
    {
       // Graphics Driver Menu
-      int c;
 
       /*
       app.currentSkin.selectionColor = selectionColor;
@@ -3472,7 +3466,6 @@ class IDEWorkSpace : Window
       Menu recentProjects = fileMenu.FindMenu($"Recent Projects");
       char * itemPath = new char[MAX_LOCATION];
       char * itemName = new char[MAX_LOCATION+4];
-      MenuItem item;
 
       recentFiles.Clear();
       c = 0;
index b445c1a..a17fe41 100644 (file)
@@ -155,8 +155,8 @@ class BreakpointsView : Window
       bool error;
       int lineActive, lineUser;
       int lineH;
-      int scrollY = listBox.scroll.y;
-      int boxH = clientSize.h;
+      //int scrollY = listBox.scroll.y;
+      //int boxH = clientSize.h;
 
       displaySystem.FontExtent(listBox.font.font, " ", 1, null, &lineH);
       //Window::OnRedraw(surface);
@@ -194,7 +194,6 @@ class BreakpointsView : Window
 
    void AddBreakpoint(Breakpoint bp)
    {
-      char string[32];
       DataRow row = listBox.AddRow();
       row.tag = (int64)bp;
       bp.row = row;
index 5d05fbe..cbaf21e 100644 (file)
@@ -1479,7 +1479,7 @@ private:
       bool loggedALine = false;
       int lenMakeCommand = strlen(compiler.makeCommand);
       int testLen = 0;
-      const char * t, * s;
+      const char * t, * s, * s2;
       char moduleName[MAX_FILENAME];
       const char * gnuToolchainPrefix = compiler.gnuToolchainPrefix ? compiler.gnuToolchainPrefix : "";
 
@@ -1547,7 +1547,7 @@ private:
                const char * inFileIncludedFrom = strstr(line, stringInFileIncludedFrom);
                const char * from = strstr(line, stringFrom);
                test.copyLenSingleBlankReplTrim(line, ' ', true, testLen);
-               if((t = strstr(line, (s=": recipe for target"))) && (t = strstr(t+strlen(s), (s=" failed"))) && (t+strlen(s))[0] == '\0')
+               if((t = strstr(line, (s=": recipe for target"))) && (t = strstr(t+strlen(s), (s2 = " failed"))) && (t+strlen(s2))[0] == '\0')
                   ; // ignore this new gnu make error but what is it about?
                else if(strstr(line, compiler.makeCommand) == line && line[lenMakeCommand] == ':')
                {
@@ -1650,7 +1650,7 @@ private:
                   if(module) module++;
                   if(module)
                   {
-                     byte * tokens[1];
+                     char * tokens[1];
                      char * dashF = strstr(module, "-F ");
                      if(dashF)
                      {
@@ -1801,7 +1801,7 @@ private:
                         {
                            char fullModuleName[MAX_LOCATION];
                            FileAttribs found = 0;
-                           Project foundProject = this;
+                           //Project foundProject = this;
                            if(moduleName[0])
                            {
                               char * loc = strstr(moduleName, ":");
@@ -1833,7 +1833,7 @@ private:
                                           found = FileExists(fullModuleName);
                                           if(found)
                                           {
-                                             foundProject = prj;
+                                             //foundProject = prj;
                                              break;
                                           }
                                        }
@@ -1851,7 +1851,7 @@ private:
                                              found = FileExists(fullModuleName);
                                              if(found)
                                              {
-                                                foundProject = prj;
+                                                //foundProject = prj;
                                                 break;
                                              }
                                           }
@@ -1911,7 +1911,7 @@ private:
       {
          if(f.GetExitCode() && !numErrors)
          {
-            bool result = f.GetLine(line, sizeof(line)-1);
+            /*bool result = */f.GetLine(line, sizeof(line)-1);
             ide.outputView.buildBox.Logf($"Fatal Error: child process terminated unexpectedly\n");
          }
          else if(buildType != install)
@@ -2037,7 +2037,6 @@ private:
          }
          else
          {
-            int len;
             char pushD[MAX_LOCATION];
             char cfDir[MAX_LOCATION];
             GetIDECompilerConfigsDir(cfDir, true, true);
@@ -2046,7 +2045,7 @@ private:
             // Create object dir if it does not exist already
             if(!FileExists(objDirExp.dir).isDirectory)
             {
-               sprintf(command, "%s CF_DIR=\"%s\"%s%s%s%s COMPILER=%s objdir -C \"%s\"%s -f \"%s\"",
+               sprintf(command, "%s CF_DIR=\"%s\"%s%s%s%s%s COMPILER=%s objdir -C \"%s\"%s -f \"%s\"",
                      compiler.makeCommand, cfDir,
                      crossCompiling ? " TARGET_PLATFORM=" : "",
                      targetPlatform,
@@ -2077,7 +2076,7 @@ private:
 
       if(compiler.type.isVC)
       {
-         bool result = false;
+         //bool result = false;
          char oldwd[MAX_LOCATION];
          GetWorkingDir(oldwd, sizeof(oldwd));
          ChangeWorkingDir(topNode.path);
@@ -2090,7 +2089,7 @@ private:
          {
             ProcessPipeOutputRaw(f);
             delete f;
-            result = true;
+            //result = true;
          }
          ChangeWorkingDir(oldwd);
       }
@@ -2208,7 +2207,7 @@ private:
 
       if(compiler.type.isVC)
       {
-         bool result = false;
+         //bool result = false;
          char oldwd[MAX_LOCATION];
          GetWorkingDir(oldwd, sizeof(oldwd));
          ChangeWorkingDir(topNode.path);
@@ -2221,7 +2220,7 @@ private:
          {
             ProcessPipeOutputRaw(f);
             delete f;
-            result = true;
+            //result = true;
          }
          ChangeWorkingDir(oldwd);
          //return result;
@@ -2605,7 +2604,7 @@ private:
          char targetDirExpNoSpaces[MAX_LOCATION];
          char fixedModuleName[MAX_FILENAME];
          char fixedConfigName[MAX_FILENAME];
-         int c, len;
+         int c;
          int lenObjDirExpNoSpaces, lenTargetDirExpNoSpaces;
          // Non-zero if we're building eC code
          // We'll have to be careful with this when merging configs where eC files can be excluded in some configs and included in others
@@ -2721,7 +2720,7 @@ private:
          if(compilerConfigsDir && compilerConfigsDir[0])
          {
             strcpy(cfDir, compilerConfigsDir);
-            if(cfDir && cfDir[0] && cfDir[strlen(cfDir)-1] != '/')
+            if(cfDir[0] && cfDir[strlen(cfDir)-1] != '/')
                strcat(cfDir, "/");
          }
          else
@@ -3521,10 +3520,10 @@ private:
    void GenMakefilePrintMainObjectRule(File f, ProjectConfig config)
    {
       char extension[MAX_EXTENSION] = "c";
-      char modulePath[MAX_LOCATION];
+      //char modulePath[MAX_LOCATION];
       char fixedModuleName[MAX_FILENAME];
-      DualPipe dep;
-      char command[2048];
+      //DualPipe dep;
+      //char command[2048];
       char objDirNoSpaces[MAX_LOCATION];
       const String objDirExp = GetObjDirExpression(config);
 
@@ -3843,7 +3842,6 @@ void ProjectConfig::LegacyProjectConfigLoad(File f)
       char section[128];
       char subSection[128];
       char * equal;
-      int len;
       uint pos;
 
       pos = f.Tell();
@@ -3979,7 +3977,7 @@ void ProjectConfig::LegacyProjectConfigLoad(File f)
 Project LegacyAsciiLoadProject(File f, const char * filePath)
 {
    Project project = null;
-   ProjectNode node = null;
+   //ProjectNode node = null;
    int pos;
    char parentPath[MAX_LOCATION];
    char section[128] = "";
@@ -4047,7 +4045,7 @@ Project LegacyAsciiLoadProject(File f, const char * filePath)
                   child.type = file;
                   child.icon = NodeIcons::SelectFileIcon(child.name);
                   parent.files.Add(child);
-                  node = child;
+                  //node = child;
                   //child = null;
                }
                else
@@ -4081,7 +4079,7 @@ Project LegacyAsciiLoadProject(File f, const char * filePath)
                PathCatSlash(parentPath, child.name);
                parent.files.Add(child);
                parent = child;
-               node = child;
+               //node = child;
                //child = null;
             }
             else if(!strcmpi(section, "Configurations"))
@@ -4125,7 +4123,7 @@ Project LegacyAsciiLoadProject(File f, const char * filePath)
             project.filePath = topNodePath;
             parentPath[0] = '\0';
             parent = project.topNode;
-            node = parent;
+            //node = parent;
             strcpy(section, "Target");
             equal = &buffer[6];
             if(equal[0] == ' ')
@@ -4162,7 +4160,7 @@ Project LegacyAsciiLoadProject(File f, const char * filePath)
             child.icon = archiveFile;
             project.resNode = child;
             parent = child;
-            node = child;
+            //node = child;
             strcpy(subSection, buffer);
          }
          else
@@ -4500,7 +4498,7 @@ Project LoadProject(const char * filePath, const char * activeConfigName)
       if(!project)
       {
          JSONParser parser { f = f };
-         JSONResult result = parser.GetObject(class(Project), &project);
+         /*JSONResult result = */parser.GetObject(class(Project), &project);
          if(project)
          {
             char insidePath[MAX_LOCATION];
index f6a58bd..3d9b8b8 100644 (file)
@@ -38,7 +38,6 @@ class DirExpression : struct
       const char * expr = expression;
       if(!expr || !expr[0])
       {
-         char buffer[MAX_LOCATION];
          if(ideSettings)
          {
          if(type == targetDir)
@@ -53,7 +52,6 @@ class DirExpression : struct
       {
          int c, d;
          const char * configName = config && config.name && config.name[0] ? config.name : "Common";
-         const char * projectName = project.name ? project.name : "";
          const char * moduleName = project.moduleName ? project.moduleName : "";
          const char * compilerName = (compiler && compiler.name) ? compiler.name : defaultCompilerName;
          const char * targetPlatformName = compiler && compiler.targetPlatform ? compiler.targetPlatform : "";
index 9165f07..8d4fe86 100644 (file)
@@ -12,7 +12,7 @@ import "Project"
 static define app = ((GuiApplication)__thisModule);
 #endif
 
-#define OPTION(x) ((uint)(&((ProjectOptions)0).x))
+#define OPTION(x) ((uint)(uintptr)(&((ProjectOptions)0).x))
 
 static void OutputLog(const char * string)
 {
@@ -608,7 +608,6 @@ private:
       // TODO: Check how to fix duplication of following options when configuration is made per-config-per-file
       while((node = nodeStack.lastIterator.data))
       {
-         ProjectConfig config = GetMatchingNodeConfig(prjConfig);
          ProjectOptions nodeOptions = node.property::options;
          if(nodeOptions && nodeOptions.preprocessorDefinitions)
          {
@@ -982,7 +981,6 @@ private:
       ProjectConfig config = GetMatchingNodeConfig(prjConfig);
       ProjectOptions options = property::options;
       Array<PlatformOptions> platforms = property::platforms;
-      List<ProjectConfig> configurations = property::configurations;
 
       if(parent)
          parent.CollectExclusionInfo(output, prjConfig);
@@ -1288,7 +1286,6 @@ private:
    void OnDisplay(Surface surface, int x, int y, int width, ProjectView projectView, Alignment alignment, DataDisplayFlags displayFlags)
    {
       char label[MAX_FILENAME];
-      int indent = 16;
       int xStart;
       int len;
       int w, h;
@@ -1302,7 +1299,7 @@ private:
       }
 
       bmp = projectView.icons[icon].bitmap;
-      xStart = /*indent * indent + */x + (bmp ? (bmp.width + 5) : 0);
+      xStart = x + (bmp ? (bmp.width + 5) : 0);
 
       GetLastDirectory(name, label);
       if(!showConfig || projectView.drawingInProjectSettingsDialogHeader)
@@ -1599,8 +1596,8 @@ private:
          GetExtension(name, extension);
          if(!strcmpi(extension, "ec"))
          {
-            DualPipe dep;
-            char command[2048];
+            //DualPipe dep;
+            //char command[2048];
 
             ReplaceSpaces(moduleName, name);
             StripExtension(moduleName);
@@ -1720,7 +1717,6 @@ private:
          Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
    {
       int ifCount = 0;
-      ProjectConfig config = GetMatchingNodeConfig(prjConfig);
       Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
       //ProjectNode child;
       //char objDir[MAX_LOCATION];
@@ -1736,9 +1732,6 @@ private:
          GetExtension(name, extension);
          if(!strcmpi(extension, "ec"))
          {
-            DualPipe dep;
-            char command[2048];
-
             ReplaceSpaces(moduleName, name);
             StripExtension(moduleName);
 
@@ -1784,7 +1777,6 @@ private:
       Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
    {
       int ifCount = 0;
-      ProjectConfig config = GetMatchingNodeConfig(prjConfig);
       Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
       //ProjectNode child;
       //char objDir[MAX_LOCATION];
@@ -1799,8 +1791,8 @@ private:
          GetExtension(name, extension);
          if(!strcmpi(extension, "ec"))
          {
-            DualPipe dep;
-            char command[2048];
+            //DualPipe dep;
+            //char command[2048];
 
             ReplaceSpaces(moduleName, name);
             StripExtension(moduleName);
@@ -1930,7 +1922,6 @@ private:
       Map<intptr, int> nodeCFlagsMapping, Map<intptr, int> nodeECFlagsMapping)
    {
       int ifCount = 0;
-      ProjectConfig config = GetMatchingNodeConfig(prjConfig);
       Array<Platform> platforms = GetPlatformsArrayFromExclusionInfo(prjConfig);
       //ProjectNode child;
       //char objDir[MAX_LOCATION];
@@ -1948,8 +1939,8 @@ private:
                !strcmpi(extension, "cpp") || !strcmpi(extension, "cc") || !strcmpi(extension, "cxx") ||
                !strcmpi(extension, "m") || !strcmpi(extension, "mm") || !strcmpi(extension, "ec"))
          {
-            DualPipe dep;
-            char command[2048];
+            //DualPipe dep;
+            //char command[2048];
             NameCollisionInfo info;
 
             ReplaceSpaces(moduleName, name);
@@ -2581,7 +2572,6 @@ static ProjectOptions BlendFileConfigPlatformProjectOptions(ProjectNode node, Pr
    //         p Platform
    //         u Utility (GenericOptionTools)
 
-   int e;
    int o;
    int priority = 0;
    int includeDirsOption = OPTION(includeDirs);
@@ -2806,8 +2796,6 @@ static ProjectOptions BlendFileConfigPlatformProjectOptions(ProjectNode node, Pr
 
 static void CollectPlatformsCommonOptions(Map<Platform, ProjectOptions> byPlatformOptions, ProjectOptions * platformsCommonOptions)
 {
-   char * s;
-   int i;
    ProjectOptions first;
    ProjectOptions commonOptions;
 
index edecb44..2d9f2a4 100644 (file)
@@ -631,7 +631,6 @@ class ProjectView : Window
          {
             for(p : ide.workspace.projects)
             {
-               Project pr = p;
                prj = project ? project : p;
                if((n = prj.topNode.FindByFullPath(documentFileName, false)))
                {
@@ -665,10 +664,6 @@ class ProjectView : Window
    bool ProjectPrepareForToolchain(Project project, PrepareMakefileMethod method, bool cleanLog, bool displayCompiler,
       CompilerConfig compiler, ProjectConfig config)
    {
-      bool isReady = true;
-      char message[MAX_F_STRING];
-      LogBox logBox = ide.outputView.buildBox;
-
       ShowOutputBuildLog(cleanLog);
 
       if(displayCompiler)
@@ -1040,11 +1035,9 @@ class ProjectView : Window
       {
          OldLink item;
          OldList selectedRows;
-         List<ProjectNode> nodes { };
          fileList.GetMultiSelection(selectedRows);
          for(item = selectedRows.first; item; item = item.next)
          {
-            OldLink i;
             DataRow row = item.data;
             ProjectNode node = (ProjectNode)row.tag;
             if(node.type == project)
@@ -1122,7 +1115,6 @@ class ProjectView : Window
    bool Compile(Project project, List<ProjectNode> nodes, bool justPrint, SingleFileCompileMode mode)
    {
       bool result = true;
-      char fileName[MAX_LOCATION];
       Window document;
       ProjectConfig config = project.config;
 
@@ -1173,7 +1165,6 @@ class ProjectView : Window
    bool Clean(Project project, List<ProjectNode> nodes, bool justPrint)
    {
       bool result = true;
-      char fileName[MAX_LOCATION];
       Window document;
       ProjectConfig config = project.config;
 
@@ -1383,7 +1374,6 @@ class ProjectView : Window
       fileList.GetMultiSelection(selectedRows);
       for(item = selectedRows.first; item; item = item.next)
       {
-         OldLink i;
          DataRow row = item.data;
          ProjectNode node = (ProjectNode)row.tag;
          if(!project)
@@ -1413,7 +1403,6 @@ class ProjectView : Window
       fileList.GetMultiSelection(selectedRows);
       for(item = selectedRows.first; item; item = item.next)
       {
-         OldLink i;
          DataRow row = item.data;
          ProjectNode node = (ProjectNode)row.tag;
          if(!project)
@@ -1675,7 +1664,6 @@ class ProjectView : Window
          {
             char moduleName[MAX_LOCATION], filePath[MAX_LOCATION] = "";
             char ext[MAX_EXTENSION] = "";
-            char * bracket;
             ProjectNode node = null;
             if(colon)
             {
@@ -1930,7 +1918,7 @@ class ProjectView : Window
       if(projectNode.files)
       {
          ProjectNode child;
-         while(child = projectNode.files.first)
+         while((child = projectNode.files.first))
             DeleteNode(child);
       }
       fileList.DeleteRow(projectNode.row);
index 856b35b..0fcb17e 100644 (file)
@@ -368,7 +368,7 @@ public:
       GetLastDirectory(relative, name);
       for(p : projects)
       {
-         if(node = p.topNode.Find(name, false))
+         if((node = p.topNode.Find(name, false)))
          {
             prj = p;
             break;
@@ -479,9 +479,6 @@ public:
 
    void UpdateSourceDirsArray(Array<String> dirs)
    {
-      byte * tokens[256];
-      int c, numTokens;
-
       sourceDirs.Free();
 
       for(s : dirs)
@@ -813,7 +810,6 @@ Workspace LoadWorkspace(const char * filePath, const char * fromProjectFile)
       {
          char buffer[65536];
          char * equal;
-         int len;
 
          Watch wh;
          Breakpoint bp;
@@ -1278,8 +1274,7 @@ Workspace LoadWorkspace(const char * filePath, const char * fromProjectFile)
    else if(fromProjectFile)
    {
       //MessageBox { type = Ok, master = ide, contents = "Worspace load file failed", text = "Worspace Load File Error" }.Modal();
-
-      char projectFile[MAX_LOCATION];
+      //char projectFile[MAX_LOCATION];
       Project newProject;
 
       //strcpy(projectFile, filePath);
index 4987e58..d1ccb2c 100644 (file)
@@ -699,7 +699,6 @@ void PrintFile(File f, Project prj, ProjectNode node, Map<String, NameCollisionI
    char modulePath[MAX_LOCATION];
    char moduleName[MAX_FILENAME];
    char relativePath[MAX_LOCATION];
-   ProjectConfig config = null;
    Array<String> perFilePreprocessorDefs { };
    Array<DirPath> perFileIncludeDirs { };