From: Ed Schonberg Date: Tue, 21 Aug 2018 14:47:18 +0000 (+0000) Subject: [Ada] Set scope of elaboration flag for 'Access X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78645ad8c7bfaa223ab35595773a4af56660403b;p=gcc.git [Ada] Set scope of elaboration flag for 'Access 2018-08-21 Ed Schonberg gcc/ada/ * sem_attr.adb: Set scope of elaboration flag for 'Access. From-SVN: r263724 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 4afe997d33c..312d891fad6 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2018-08-21 Ed Schonberg + + * sem_attr.adb: Set scope of elaboration flag for 'Access. + 2018-08-21 Ed Schonberg * sprint.adb: Add guard on printing aspects. diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index cb1b2d5d2cc..96eb48824d1 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -11245,6 +11245,15 @@ package body Sem_Attr is New_Occurrence_Of (Standard_Short_Integer, Loc), Expression => Make_Integer_Literal (Loc, Uint_0))); + + -- The above sets the Scope of the flag entity to the + -- current scope, in which the attribute appears, but + -- the flag declaration has been inserted after that + -- of Subp_Id, so the scope of the flag the same as + -- that of Subp_Id. This is relevant when unnesting, + -- whereh processing depends on correct scope settingl + + Set_Scope (Flag_Id, Scop); end if; -- Taking the 'Access of an expression function freezes its