The compiler fails to suppress initialization on a variable of a subtype of a private type (such as System.Address) even though the subtype has aspect Suppress_Initialization. This can lead to errors on object declarations specified with Thread_Local_Storage when Initialize_Scalars is applied (as well as leading to default initialization when it shouldn't). Tested on x86_64-pc-linux-gnu, committed on trunk 2019-08-12 Gary Dismukes gcc/ada/ * sem_prag.adb (Analyze_Pragma, Pragma_Suppress_Initialization): For private types, set the Suppress_Initialization flag on the Full_View of the entity rather than the entity's base type. gcc/testsuite/ * gnat.dg/suppress_initialization2.adb, gnat.dg/suppress_initialization2.ads: New testcase.