This patch corrects the verification of 'Address clauses to avoid
processing a clause where the prefix of the attribute is a generic
formal object.
2019-07-08 Hristian Kirtchev <kirtchev@adacore.com>
gcc/ada/
* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
register an address clause when its prefix denotes a generic
formal object.
gcc/testsuite/
* gnat.dg/addr13.adb, gnat.dg/addr13.ads: New testcase.
From-SVN: r273218
+2019-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
+ register an address clause when its prefix denotes a generic
+ formal object.
+
2019-07-08 Hristian Kirtchev <kirtchev@adacore.com>
* bindo-diagnostics.adb (Diagnose_Cycle): Capture the presence
-- aspect case properly.
if Is_Object (O_Ent)
+ and then not Is_Generic_Formal (O_Ent)
and then not Is_Generic_Type (Etype (U_Ent))
and then Address_Clause_Overlay_Warnings
then
+2019-07-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat.dg/addr13.adb, gnat.dg/addr13.ads: New testcase.
+
2019-07-08 Ed Schonberg <schonberg@adacore.com>
* gnat.dg/entry1.adb, gnat.dg/entry1.ads: New testcase.
--- /dev/null
+-- { dg-do compile }
+
+package body Addr13 is
+ procedure Overlay is
+ Over : Integer with Address => Gen_Obj'Address;
+ begin
+ Over := 123;
+ end Overlay;
+end Addr13;
--- /dev/null
+generic
+ Gen_Obj : in out Integer;
+package Addr13 is
+ procedure Overlay;
+end Addr13;