]> git.ipfire.org Git - thirdparty/gcc.git/commit
[Ada] Suppress Initialize_Scalars for Persistent_BSS
authorpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Aug 2019 09:49:51 +0000 (09:49 +0000)
committerpmderodat <pmderodat@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 20 Aug 2019 09:49:51 +0000 (09:49 +0000)
commit1b86a7ca39fca3fcef917fca781916fe6af374b3
treecacf682c71c78586d181e9209a1988913459fa0d
parentcb4340ba75af7f53d9c707492349430b0f1888c4
[Ada] Suppress Initialize_Scalars for Persistent_BSS

If a variable has pragma Persistent_BSS, the compiler now automatically
suppresses implicit initializations caused by Initialize_Scalars and
Normalize_Scalars. Variables with Persistent_BSS cannot be initialized,
and previously a pragma Suppress_Initialization was required before the
pragma Persistent_BSS.

2019-08-20  Bob Duff  <duff@adacore.com>

gcc/ada/

* sem_prag.adb (Persistent_BSS): If an initialization is present
because of Initialize_Scalars or Normalize_Scalars, generate an
implicit pragma Suppress_Initialization to remove that, because
initialization is not allowed for these variables. Other
initializations remain illegal.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@274732 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/ChangeLog
gcc/ada/sem_prag.adb