From: Samuel Tardieu Date: Tue, 13 Nov 2007 19:12:57 +0000 (+0000) Subject: sem_prag.adb (Process_Convention): Move the test for the entity on which the Conventi... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=66beb09b045130f9516b110d5cf41c81f8396be6;p=gcc.git sem_prag.adb (Process_Convention): Move the test for the entity on which the Convention pragma applies down to... 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. From-SVN: r130155 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 1e8cd52ee07..1c601202b23 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 65ee2870de5..8195c8bc8ad 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