]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Reuse Get_Pragma_Arg to handle pragma argument associations
authorPiotr Trojanek <trojanek@adacore.com>
Tue, 7 Jun 2022 11:19:35 +0000 (13:19 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 5 Jul 2022 08:28:19 +0000 (08:28 +0000)
Code cleanup related to looking at pragma Thread_Local_Storage.
Semantics is unaffected.

gcc/ada/

* exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
* exp_prag.adb (Arg_N): Likewise.

gcc/ada/exp_ch3.adb
gcc/ada/exp_prag.adb

index eea37dcf9da464a859ea5521f40165d5e6306025..c9f0bfd9302f83e7a994a1a88d7d177a4a7a79f8 100644 (file)
@@ -3319,11 +3319,9 @@ package body Exp_Ch3 is
                         --  Pragma case
 
                         if Nkind (Ritem) = N_Pragma then
-                           Exp := First (Pragma_Argument_Associations (Ritem));
-
-                           if Nkind (Exp) = N_Pragma_Argument_Association then
-                              Exp := Expression (Exp);
-                           end if;
+                           Exp :=
+                             Get_Pragma_Arg
+                               (First (Pragma_Argument_Associations (Ritem)));
 
                            --  Conversion for Priority expression
 
index 5f1308777e8256f25c476ba2b5d825f7b6a5b738..0631172ea18855594e4360110ca66ff4db50a425 100644 (file)
@@ -105,12 +105,10 @@ package body Exp_Prag is
          end if;
       end loop;
 
-      if Present (Arg)
-        and then Nkind (Arg) = N_Pragma_Argument_Association
-      then
-         return Expression (Arg);
+      if Present (Arg) then
+         return Get_Pragma_Arg (Arg);
       else
-         return Arg;
+         return Empty;
       end if;
    end Arg_N;