summaryrefslogtreecommitdiffstats
path: root/gcc/ada
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/cstand.adb7
-rw-r--r--gcc/ada/sem_prag.adb15
3 files changed, 12 insertions, 16 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 984e7b3450b..0dc1c4ac653 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2011-08-01 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb: Fix comments.
+ * sem_prag.adb (Analyze_Pragma): Use List_Length instead of explicit
+ count of arguments.
+
2011-08-01 Robert Dewar <dewar@adacore.com>
* exp_ch4.adb, sem_cat.adb: Minor reformatting.
diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb
index ea1ecb661e8..5b95a7ca8bb 100644
--- a/gcc/ada/cstand.adb
+++ b/gcc/ada/cstand.adb
@@ -817,7 +817,7 @@ package body CStand is
Set_Entity (E_Id, Standard_Positive);
Set_Etype (E_Id, Standard_Positive);
- -- Setup entity for Naturalend Create_Standard;
+ -- Setup entity for Natural
Set_Ekind (Standard_Natural, E_Signed_Integer_Subtype);
Set_Etype (Standard_Natural, Base_Type (Standard_Integer));
@@ -1833,14 +1833,15 @@ package body CStand is
P (" pragma Pack (Wide_Wide_String);");
Write_Eol;
- -- Here it's OK to use the Duration type of the host compiler since
- -- the implementation of Duration in GNAT is target independent.
+ -- We only have one representation each for 32-bit and 64-bit sizes,
+ -- so select the right one based on Duration_32_Bits_On_Target.
if Duration_32_Bits_On_Target then
P (" type Duration is delta 0.020");
P (" range -((2 ** 31 - 1) * 0.020) ..");
P (" +((2 ** 31 - 1) * 0.020);");
P (" for Duration'Small use 0.020;");
+
else
P (" type Duration is delta 0.000000001");
P (" range -((2 ** 63 - 1) * 0.000000001) ..");
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index abee1331106..540cb372b31 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -5678,12 +5678,14 @@ package body Sem_Prag is
-- Preset arguments
+ Arg_Count := 0;
Arg1 := Empty;
Arg2 := Empty;
Arg3 := Empty;
Arg4 := Empty;
if Present (Pragma_Argument_Associations (N)) then
+ Arg_Count := List_Length (Pragma_Argument_Associations (N));
Arg1 := First (Pragma_Argument_Associations (N));
if Present (Arg1) then
@@ -5699,19 +5701,6 @@ package body Sem_Prag is
end if;
end if;
- -- Count number of arguments
-
- declare
- Arg_Node : Node_Id;
- begin
- Arg_Count := 0;
- Arg_Node := Arg1;
- while Present (Arg_Node) loop
- Arg_Count := Arg_Count + 1;
- Next (Arg_Node);
- end loop;
- end;
-
-- An enumeration type defines the pragmas that are supported by the
-- implementation. Get_Pragma_Id (in package Prag) transforms a name
-- into the corresponding enumeration value for the following case.
OpenPOWER on IntegriCloud