diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-11-24 15:15:54 +0100 |
---|---|---|
committer | Eric Botcazou <ebotcazou@adacore.com> | 2024-11-24 20:23:25 +0100 |
commit | adb4f2329a6da903fffe33b48a03510c52d1a0b8 (patch) | |
tree | ed7d03fad69c9edfb06e96830cceaa2314717227 /gcc/varasm.cc | |
parent | aa09e32c4d4ebdd58f677a7ecbdcb93cce84823d (diff) | |
download | gcc-adb4f2329a6da903fffe33b48a03510c52d1a0b8.zip gcc-adb4f2329a6da903fffe33b48a03510c52d1a0b8.tar.gz gcc-adb4f2329a6da903fffe33b48a03510c52d1a0b8.tar.bz2 |
Adjust error message for initialized variable in .bss
The current message does not make sense with -fno-zero-initialized-in-bss.
gcc/
* doc/invoke.texi (-fno-zero-initialized-in-bss): Adjust for Ada.
* varasm.cc (get_variable_section): Adjust the error message for an
initialized variable in .bss to -fno-zero-initialized-in-bss.
gcc/testsuite/
* gnat.dg/specs/bss1.ads: New test.
Diffstat (limited to 'gcc/varasm.cc')
-rw-r--r-- | gcc/varasm.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/varasm.cc b/gcc/varasm.cc index acc4b4a..dd67dd44 100644 --- a/gcc/varasm.cc +++ b/gcc/varasm.cc @@ -1264,9 +1264,14 @@ get_variable_section (tree decl, bool prefer_noswitch_p) if ((sect->common.flags & SECTION_BSS) && !bss_initializer_p (decl, true)) { - error_at (DECL_SOURCE_LOCATION (decl), - "only zero initializers are allowed in section %qs", - sect->named.name); + if (flag_zero_initialized_in_bss) + error_at (DECL_SOURCE_LOCATION (decl), + "only zero initializers are allowed in section %qs", + sect->named.name); + else + error_at (DECL_SOURCE_LOCATION (decl), + "no initializers are allowed in section %qs", + sect->named.name); DECL_INITIAL (decl) = error_mark_node; } return sect; |