From b6dbe0c076fdb1632af5fdbeb9d1fe378edb43d9 Mon Sep 17 00:00:00 2001 From: sam Date: Tue, 13 Nov 2007 19:12:57 +0000 Subject: [PATCH] gcc/ada/ * sem_prag.adb (Process_Convention): Move the test for the entity on which the Convention pragma applies down to also forbid pragma Convention on enumeration literals reached through renamings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130155 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/sem_prag.adb | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1e8cd52..1c60120 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -4,6 +4,11 @@ explaining why in general 'Unchecked_Access must be used instead of 'Access. + * sem_prag.adb (Process_Convention): Move the test for the + entity on which the Convention pragma applies down to also + forbid pragma Convention on enumeration literals reached + through renamings. + 2007-11-10 Samuel Tardieu * a-tasatt.adb: Revert previous change for this file as it will diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 65ee287..8195c8b 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -2219,10 +2219,6 @@ package body Sem_Prag is Error_Pragma_Arg ("entity name required", Arg2); end if; - if Ekind (Entity (Id)) = E_Enumeration_Literal then - Error_Pragma ("enumeration literal not allowed for pragma%"); - end if; - E := Entity (Id); -- Go to renamed subprogram if present, since convention applies to @@ -2267,6 +2263,10 @@ package body Sem_Prag is ("\supply appropriate type for&!", Arg2); end if; + if Ekind (E) = E_Enumeration_Literal then + Error_Pragma ("enumeration literal not allowed for pragma%"); + end if; + if Etype (E) = Any_Type or else Rep_Item_Too_Early (E, N) then -- 2.7.4