aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_attr.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/sem_attr.adb')
-rw-r--r--gcc/ada/sem_attr.adb11
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index d5970a1..1f769a5 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -782,6 +782,13 @@ package body Sem_Attr is
Par : Node_Id;
begin
+ -- If N does not come from source, the reference is assumed to be
+ -- valid.
+
+ if not Comes_From_Source (N) then
+ return True;
+ end if;
+
Par := Parent (N);
while Present (Par)
and then
@@ -1032,9 +1039,7 @@ package body Sem_Attr is
-- expression comes from source, e.g. when a single component
-- association in an aggregate has a box association.
- elsif Ada_Version >= Ada_2005
- and then OK_Self_Reference
- then
+ elsif Ada_Version >= Ada_2005 and then OK_Self_Reference then
null;
-- OK if reference to current instance of a protected object