}
fl;
+ if (!val) {
+ // assuming we have been warned before
+ val=constVal("0");
+ }
+
/* if it is a float then it gets tricky */
/* otherwise it is fairly simple */
if (!IS_FLOAT (val->type)) {
/* if allocation required check is needed
then check if the symbol really requires
allocation only for local variables */
+ if (!sym->allocreq) continue;
+
if (arFlag && !IS_AGGREGATE (sym->type) &&
!(sym->_isparm && !IS_REGPARM (sym->etype)) &&
!sym->allocreq && sym->level)
segment = SPEC_OCLS (symIval->etype);
deleteSetItem (&segment->syms, symIval);
}
+
sym->ival = NULL;
}
}
return tmpfile ();
}
-char *
-gc_strdup (const char *s)
-{
- char *ret;
- ret = Safe_calloc (1, strlen (s) + 1);
- strcpy (ret, s);
- return ret;
-}