From: Ronan Desplanques Date: Mon, 9 Jan 2023 10:14:05 +0000 (+0100) Subject: ada: Improve check of attribute reference X-Git-Tag: basepoints/gcc-15~9305 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=83a0b4e7e345d05ad758d44d2a7121e1cc484f76;p=thirdparty%2Fgcc.git 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. --- diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index 9de9884069e9..ac0c4004930c 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