diff options
Diffstat (limited to 'gcc/ada/sem_ch13.adb')
-rw-r--r-- | gcc/ada/sem_ch13.adb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 6b46b2d2688..fbbde853492 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -1168,6 +1168,14 @@ package body Sem_Ch13 is -- the second argument is a local name referring to the entity, -- and the first argument is the aspect definition expression. + when Aspect_Convention => + Aitem := + Make_Pragma (Loc, + Pragma_Argument_Associations => + New_List (Relocate_Node (Expr), Ent), + Pragma_Identifier => + Make_Identifier (Sloc (Id), Chars (Id))); + when Aspect_Warnings => -- Construct the pragma @@ -1562,6 +1570,13 @@ package body Sem_Ch13 is Analyze_Aspect_Dimension_System (N, Id, Expr); goto Continue; + -- Placeholders for new aspects without corresponding pragmas + + when Aspect_External_Name => + null; + + when Aspect_Link_Name => + null; end case; -- If a delay is required, we delay the freeze (not much point in @@ -6199,6 +6214,9 @@ package body Sem_Ch13 is when Aspect_Attach_Handler => T := RTE (RE_Interrupt_ID); + when Aspect_Convention => + null; + -- Default_Value is resolved with the type entity in question when Aspect_Default_Value => @@ -6226,6 +6244,12 @@ package body Sem_Ch13 is when Aspect_External_Tag => T := Standard_String; + when Aspect_External_Name => + T := Standard_String; + + when Aspect_Link_Name => + T := Standard_String; + when Aspect_Priority | Aspect_Interrupt_Priority => T := Standard_Integer; |