summaryrefslogtreecommitdiffstats
path: root/gcc/ada/sem_ch13.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/sem_ch13.adb')
-rw-r--r--gcc/ada/sem_ch13.adb24
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;
OpenPOWER on IntegriCloud