sdk: Fixed projects output directories, config/platform lib overrides; Fixed 64 bit...
authorJerome St-Louis <jerome@ecere.com>
Wed, 20 Feb 2013 09:31:54 +0000 (04:31 -0500)
committerJerome St-Louis <jerome@ecere.com>
Wed, 20 Feb 2013 09:31:54 +0000 (04:31 -0500)
compiler/bootstrap/ecere/bootstrap/Map.c
documentor/documentor.epj
ear/cmd/ear.epj
ear/extract/extract.epj
ecere/src/com/containers/Map.ec
ide/ide.epj

index fcc33e7..b98ea26 100644 (file)
@@ -518,7 +518,11 @@ struct __ecereNameSpace__ecere__com__MapNode * node;
 
 while(node = ((struct __ecereNameSpace__ecere__com__MapNode *)((struct __ecereNameSpace__ecere__com__CustomAVLTree *)(((char *)this + 12)))->root))
 {
-(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(node)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(node, 0));
+struct __ecereNameSpace__ecere__com__MapNode * n = node;
+
+if(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->type == 1)
+n = (struct __ecereNameSpace__ecere__com__MapNode *)(((unsigned char *)node) + ((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[5].dataTypeClass->structSize - sizeof node->key);
+(((void (* )(void *  _class, void *  data))((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass->_vTbl[__ecereVMethodID_class_OnFree])(((struct __ecereNameSpace__ecere__com__Instance *)(char *)this)->_class->templateArgs[6].dataTypeClass, __ecereProp___ecereNameSpace__ecere__com__MapNode_Get_value(n)), __ecereProp___ecereNameSpace__ecere__com__MapNode_Set_value(n, 0));
 ((void (*)(struct __ecereNameSpace__ecere__com__Instance *, struct __ecereNameSpace__ecere__com__IteratorPointer * it))this->_vTbl[__ecereVMethodID___ecereNameSpace__ecere__com__Container_Remove])(this, node);
 }
 }
index edf65d4..e4eca37 100644 (file)
@@ -3,8 +3,6 @@
    "ModuleName" : "documentor",
    "Options" : {
       "TargetFileName" : "documentor",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "Libraries" : [
          "ecere"
       ]
index 5d9af2f..fa2c08b 100644 (file)
@@ -69,6 +69,6 @@
             }
          ]
       },
-      "../extract/obj/release.$(PLATFORM)/extract$(E)"
+      "../extract/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)/extract$(E)"
    ]
 }
index 97d488a..02cb942 100644 (file)
@@ -5,11 +5,9 @@
       "Warnings" : "All",
       "TargetType" : "Executable",
       "TargetFileName" : "extract",
-      "TargetDirectory" : "obj/$(CONFIG).$(PLATFORM)",
-      "ObjectsDirectory" : "obj/$(CONFIG).$(PLATFORM)",
       "LibraryDirs" : [
-         "../../ecere/obj/vanilla.$(PLATFORM)",
-         "../../deps/zlib/obj/release.$(PLATFORM)"
+         "../../ecere/obj/vanilla.$(PLATFORM)$(COMPILER_SUFFIX)",
+         "../../deps/zlib/obj/release.$(PLATFORM)$(COMPILER_SUFFIX)"
       ]
    },
    "Platforms" : [
index 622c1d3..7a8c549 100644 (file)
@@ -142,7 +142,13 @@ public class Map<class MT, class V> : CustomAVLTree<MapNode<MT, V>, I = MT, D =
       MapNode<MT, V> node;
       while(node = root)
       {
-         delete node.value;
+         MapNode<MT, V> n = node;
+
+         // Adjust node pointer for non-standard AVLNode
+         if(class(MT).type == structClass)
+            n = (MapNode<MT, V>)(((byte *) node) + class(MT).structSize - sizeof(node.AVLNode::key));
+
+         delete n.value;
          Remove(node);
       }
    }
index 1ad5059..fa8f8c7 100644 (file)
             ],
             "Console" : true,
             "FastMath" : false
-         },
-         "Platforms" : [
-            {
-               "Name" : "Win32",
-               "Options" : {
-                  "Libraries" : [
-
-                  ]
-               }
-            }
-         ]
+         }
       },
       {
          "Name" : "Release",
          },
          "Platforms" : [
             {
-               "Name" : "Win32",
-               "Options" : {
-                  "Libraries" : [
-
-                  ]
-               }
-            },
-            {
                "Name" : "linux",
                "Options" : {
                   "Libraries" : [
             ],
             "Console" : true,
             "FastMath" : false
-         },
-         "Platforms" : [
-            {
-               "Name" : "Win32",
-               "Options" : {
-                  "Libraries" : [
-
-                  ]
-               }
-            }
-         ]
+         }
       },
       {
          "Name" : "Profile",