From 83a0b4e7e345d05ad758d44d2a7121e1cc484f76 Mon Sep 17 00:00:00 2001 From: Ronan Desplanques Date: Mon, 9 Jan 2023 11:14:05 +0100 Subject: ada: Improve check of attribute reference Before this patch, the front end failed to catch many illegal uses of access attributes of task types. This patch makes referring to the access attributes of a task type raise an error, except in the current instance case defined in clause 8.6 of the reference manual. gcc/ada/ * sem_attr.adb: sem_attr.adb (Analyze_Access_Attribute): Tighten validity check for task types. --- gcc/ada/sem_attr.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/ada') diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 9de9884..ac0c400 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -1068,9 +1068,11 @@ package body Sem_Attr is Analyze (N); return; - -- OK if a task type, this test needs sharpening up ??? + -- OK if current task. - elsif Is_Task_Type (Typ) then + elsif Is_Task_Type (Typ) + and then In_Open_Scopes (Typ) + then null; -- OK if self-reference in an aggregate in Ada 2005, and -- cgit v1.1