fixed bug #700797
authorjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 12 Mar 2003 09:56:11 +0000 (09:56 +0000)
committerjohanknol <johanknol@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 12 Mar 2003 09:56:11 +0000 (09:56 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2379 4a8a32a2-be11-0410-ad9d-d568d2c75423

src/SDCCglue.c

index dcca79fe1c0886dc67acd611ca822e08488ded96..8dced77b7a6fb9c2b43c893552aff64a7762b3fd 100644 (file)
@@ -1185,8 +1185,10 @@ emitStaticSeg (memmap * map, FILE * out)
              resolveIvalSym (sym->ival);
              printIval (sym, sym->type, sym->ival, out);
              noAlloc--;
-             // if sym->ival is a string, WE don't need it anymore
-             if (IS_AST_SYM_VALUE(list2expr(sym->ival)) &&
+             /* if sym is a simple string and sym->ival is a string, 
+                WE don't need it anymore */
+             if (IS_ARRAY(sym->type) && IS_CHAR(sym->type->next) &&
+                 IS_AST_SYM_VALUE(list2expr(sym->ival)) &&
                  list2val(sym->ival)->sym->isstrlit) {
                freeStringSymbol(list2val(sym->ival)->sym);
              }