2018-12-11 Ed Schonberg <schonberg@adacore.com>
gcc/ada/
* exp_unst.adb (Register_Subprogram): A subprogram whose address
is taken (through attribute Address or Access) is reachable and
cannot be eliminated, even if there is no explicit call to it:
the address may be used in an indirect call or in some
address-related operation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@267014
138bc75d-0d04-0410-961f-
82ee72b054a4
+2018-12-11 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_unst.adb (Register_Subprogram): A subprogram whose address
+ is taken (through attribute Address or Access) is reachable and
+ cannot be eliminated, even if there is no explicit call to it:
+ the address may be used in an indirect call or in some
+ address-related operation.
+
2018-12-11 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Get_Actual_Subtype): Function can return type
((Ent => E,
Bod => Bod,
Lev => L,
- Reachable => In_Synchronized_Unit (E),
+ Reachable => In_Synchronized_Unit (E)
+ or else Address_Taken (E),
Uplevel_Ref => L,
Declares_AREC => False,
Uents => No_Elist,