PR middle-end/29299
* cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
are used.
From-SVN: r117863
+2006-10-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/29299
+ * cfgexpand.c (expand_used_vars_for_block): Vars marked used by user
+ are used.
+
2006-10-18 Marcin Dalecki <martin@dalecki.de>
* omp-low.c (expand_parallel_call): Use BSI_SAME_STMT instead of
/* Expand all variables at this level. */
for (t = BLOCK_VARS (block); t ; t = TREE_CHAIN (t))
- if (TREE_USED (t))
+ if (TREE_USED (t)
+ /* Force local static variables to be output when marked by
+ used attribute. For unit-at-a-time, cgraph code already takes
+ care of this. */
+ || (!flag_unit_at_a_time && TREE_STATIC (t)
+ && DECL_PRESERVE_P (t)))
expand_one_var (t, toplevel);
this_sv_num = stack_vars_num;