Code cleanup related to looking at pragma Thread_Local_Storage.
Semantics is unaffected.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* exp_ch3.adb (Build_Init_Statements): Reuse Get_Pragma_Arg.
* exp_prag.adb (Arg_N): Likewise.
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -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
diff --git a/gcc/ada/exp_prag.adb b/gcc/ada/exp_prag.adb
--- a/gcc/ada/exp_prag.adb
+++ b/gcc/ada/exp_prag.adb
@@ -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;