diff options
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r-- | gcc/varasm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c index f8fb16c..e7505a8 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1608,7 +1608,12 @@ assemble_variable (decl, top_level, at_end, dont_output_data) /* Handle uninitialized definitions. */ - if ((DECL_INITIAL (decl) == 0 || DECL_INITIAL (decl) == error_mark_node) + if ((DECL_INITIAL (decl) == 0 || DECL_INITIAL (decl) == error_mark_node +#if defined ASM_EMIT_BSS + || (flag_zero_initialized_in_bss + && initializer_zerop (DECL_INITIAL (decl))) +#endif + ) /* If the target can't output uninitialized but not common global data in .bss, then we have to use .data. */ #if ! defined ASM_EMIT_BSS |