aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRobert Dewar <dewar@adacore.com>2010-10-18 10:34:56 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2010-10-18 12:34:56 +0200
commitadcf6b325095112c75af4dbb69628605dcaf2e32 (patch)
tree1b8e214d778fdfd8d8a13ab7a5c90cf30fac3388 /gcc
parent8918fe18ab24b24cba7575face37f1726a23ef19 (diff)
downloadgcc-adcf6b325095112c75af4dbb69628605dcaf2e32.zip
gcc-adcf6b325095112c75af4dbb69628605dcaf2e32.tar.gz
gcc-adcf6b325095112c75af4dbb69628605dcaf2e32.tar.bz2
sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is standard field).
2010-10-18 Robert Dewar <dewar@adacore.com> * sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is standard field). 2010-10-18 Robert Dewar <dewar@adacore.com> * s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads: Minor reformatting. 2010-10-18 Robert Dewar <dewar@adacore.com> * exp_strm.adb (Build_Elementary_Input_Call): Check No_Default_Stream_Attributes. (Build_Elementary_Write_Call): Check No_Default_Stream_Attributes * s-rident.ads: Add restriction No_Default_Stream_Attributes Put restriction No_Allocators_After_Elaboration in alpha order From-SVN: r165626
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog18
-rw-r--r--gcc/ada/exp_strm.adb6
-rw-r--r--gcc/ada/s-rident.ads5
-rw-r--r--gcc/ada/s-stausa.adb20
-rw-r--r--gcc/ada/s-taprop-linux.adb8
-rw-r--r--gcc/ada/s-taprop-mingw.adb8
-rw-r--r--gcc/ada/s-tassta.ads12
-rw-r--r--gcc/ada/sinfo.adb4
-rw-r--r--gcc/ada/sinfo.ads10
9 files changed, 60 insertions, 31 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 30806a9..83d3e78 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,21 @@
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is
+ standard field).
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads:
+ Minor reformatting.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Check
+ No_Default_Stream_Attributes.
+ (Build_Elementary_Write_Call): Check No_Default_Stream_Attributes
+ * s-rident.ads: Add restriction No_Default_Stream_Attributes
+ Put restriction No_Allocators_After_Elaboration in alpha order
+
2010-10-18 Jose Ruiz <ruiz@adacore.com>
* exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
diff --git a/gcc/ada/exp_strm.adb b/gcc/ada/exp_strm.adb
index fc7a5a2..83f88a2 100644
--- a/gcc/ada/exp_strm.adb
+++ b/gcc/ada/exp_strm.adb
@@ -29,6 +29,8 @@ with Namet; use Namet;
with Nlists; use Nlists;
with Nmake; use Nmake;
with Opt; use Opt;
+with Restrict; use Restrict;
+with Rident; use Rident;
with Rtsfind; use Rtsfind;
with Sem_Aux; use Sem_Aux;
with Sem_Util; use Sem_Util;
@@ -455,6 +457,8 @@ package body Exp_Strm is
Lib_RE : RE_Id;
begin
+ Check_Restriction (No_Default_Stream_Attributes, N);
+
-- Compute the size of the stream element. This is either the size of
-- the first subtype or if given the size of the Stream_Size attribute.
@@ -667,6 +671,8 @@ package body Exp_Strm is
Libent : Entity_Id;
begin
+ Check_Restriction (No_Default_Stream_Attributes, N);
+
-- Compute the size of the stream element. This is either the size of
-- the first subtype or if given the size of the Stream_Size attribute.
diff --git a/gcc/ada/s-rident.ads b/gcc/ada/s-rident.ads
index da8868e..9423694 100644
--- a/gcc/ada/s-rident.ads
+++ b/gcc/ada/s-rident.ads
@@ -62,16 +62,17 @@ package System.Rident is
No_Abort_Statements, -- (RM D.7(5), H.4(3))
No_Access_Subprograms, -- (RM H.4(17))
No_Allocators, -- (RM H.4(7))
- No_Anonymous_Allocators, -- Ada 2012
+ No_Allocators_After_Elaboration, -- Ada 2012 (RM D.7(19.1/2))
+ No_Anonymous_Allocators, -- Ada 2012 (RM H.4(8/1))
No_Asynchronous_Control, -- (RM D.7(10))
No_Calendar, -- GNAT
+ No_Default_Stream_Attributes, -- Ada 2012 (RM 13.12.1(4/2))
No_Delay, -- (RM H.4(21))
No_Direct_Boolean_Operators, -- GNAT
No_Dispatch, -- (RM H.4(19))
No_Dispatching_Calls, -- GNAT
No_Dynamic_Attachment, -- GNAT
No_Dynamic_Priorities, -- (RM D.9(9))
- No_Allocators_After_Elaboration, -- Ada 2012
No_Enumeration_Maps, -- GNAT
No_Entry_Calls_In_Elaboration_Code, -- GNAT
No_Entry_Queue, -- GNAT (Ravenscar)
diff --git a/gcc/ada/s-stausa.adb b/gcc/ada/s-stausa.adb
index d533e0c..e85bc46 100644
--- a/gcc/ada/s-stausa.adb
+++ b/gcc/ada/s-stausa.adb
@@ -263,10 +263,11 @@ package body System.Stack_Usage is
Guard : constant Integer := 256;
-- Guard space between the Current_Stack_Level'Address and the last
-- allocated byte on the stack.
+
begin
- if Analyzer.Top_Pattern_Mark /= 0 then
- -- Easiest and most accurate method: the top of the stack is known.
+ -- Easiest and most accurate method: the top of the stack is known.
+ if Analyzer.Top_Pattern_Mark /= 0 then
Analyzer.Pattern_Size :=
Stack_Size (Analyzer.Top_Pattern_Mark,
To_Stack_Address (Current_Stack_Level'Address))
@@ -283,19 +284,23 @@ package body System.Stack_Usage is
declare
Pattern : aliased Stack_Slots
- (1 .. Analyzer.Pattern_Size / Bytes_Per_Pattern);
+ (1 .. Analyzer.Pattern_Size / Bytes_Per_Pattern);
for Pattern'Address use Analyzer.Stack_Overlay_Address;
+
begin
if System.Parameters.Stack_Grows_Down then
- for I in reverse Pattern'Range loop
- Pattern (I) := Analyzer.Pattern;
+ for J in reverse Pattern'Range loop
+ Pattern (J) := Analyzer.Pattern;
end loop;
+
Analyzer.Bottom_Pattern_Mark :=
To_Stack_Address (Pattern (Pattern'Last)'Address);
+
else
- for I in Pattern'Range loop
- Pattern (I) := Analyzer.Pattern;
+ for J in Pattern'Range loop
+ Pattern (J) := Analyzer.Pattern;
end loop;
+
Analyzer.Bottom_Pattern_Mark :=
To_Stack_Address (Pattern (Pattern'First)'Address);
end if;
@@ -310,6 +315,7 @@ package body System.Stack_Usage is
To_Stack_Address (Current_Stack_Level'Address));
if Stack_Used_When_Filling > Analyzer.Pattern_Size then
+
-- In this case, the known size of the stack is too small, we've
-- already taken more than expected, so there's no possible
-- computation
diff --git a/gcc/ada/s-taprop-linux.adb b/gcc/ada/s-taprop-linux.adb
index f19ca55..6dcb105 100644
--- a/gcc/ada/s-taprop-linux.adb
+++ b/gcc/ada/s-taprop-linux.adb
@@ -851,8 +851,8 @@ package body System.Task_Primitives.Operations is
-- more appropriate.
if pthread_attr_setaffinity_np'Address = System.Null_Address then
- -- Nothing to do with the affinities if there is not the underlying
- -- support.
+
+ -- Nothing to do with the affinities if no underlying support
null;
@@ -861,10 +861,8 @@ package body System.Task_Primitives.Operations is
elsif T.Common.Base_CPU /= System.Multiprocessors.Not_A_Specific_CPU then
declare
CPU_Set : aliased cpu_set_t := (bits => (others => False));
-
begin
CPU_Set.bits (Integer (T.Common.Base_CPU)) := True;
-
Result :=
pthread_attr_setaffinity_np
(Attributes'Access,
@@ -1340,10 +1338,8 @@ package body System.Task_Primitives.Operations is
then
declare
CPU_Set : aliased cpu_set_t := (bits => (others => False));
-
begin
CPU_Set.bits (Integer (Environment_Task.Common.Base_CPU)) := True;
-
Result :=
pthread_setaffinity_np
(Environment_Task.Common.LL.Thread,
diff --git a/gcc/ada/s-taprop-mingw.adb b/gcc/ada/s-taprop-mingw.adb
index bafb067..768bc3f 100644
--- a/gcc/ada/s-taprop-mingw.adb
+++ b/gcc/ada/s-taprop-mingw.adb
@@ -955,6 +955,7 @@ package body System.Task_Primitives.Operations is
-- Step 4: Handle pragma CPU and Task_Info
if T.Common.Base_CPU /= System.Multiprocessors.Not_A_Specific_CPU then
+
-- The CPU numbering in pragma CPU starts at 1 while the subprogram
-- to set the affinity starts at 0, therefore we must substract 1.
@@ -1116,9 +1117,10 @@ package body System.Task_Primitives.Operations is
-- The CPU numbering in pragma CPU starts at 1 while the subprogram
-- to set the affinity starts at 0, therefore we must substract 1.
- Result := SetThreadIdealProcessor
- (Environment_Task.Common.LL.Thread,
- ProcessorId (Environment_Task.Common.Base_CPU) - 1);
+ Result :=
+ SetThreadIdealProcessor
+ (Environment_Task.Common.LL.Thread,
+ ProcessorId (Environment_Task.Common.Base_CPU) - 1);
pragma Assert (Result = 1);
end if;
end Initialize;
diff --git a/gcc/ada/s-tassta.ads b/gcc/ada/s-tassta.ads
index a6359c0..6b8c7d7 100644
--- a/gcc/ada/s-tassta.ads
+++ b/gcc/ada/s-tassta.ads
@@ -184,15 +184,15 @@ package System.Tasking.Stages is
-- Compiler interface only. Do not call from within the RTS.
-- This must be called to create a new task.
--
- -- Priority is the task's priority (assumed to be in the
- -- System.Any_Priority'Range)
+ -- Priority is the task's priority (assumed to be in range of type
+ -- System.Any_Priority)
-- Size is the stack size of the task to create
-- Task_Info is the task info associated with the created task, or
-- Unspecified_Task_Info if none.
- -- CPU is the task affinity. We pass it as an Integer because the
- -- undefined value is not in the range of CPU_Range. Static range
- -- checks are performed when analyzing the pragma, and dynamic ones are
- -- performed before setting the affinity at run time.
+ -- CPU is the task affinity. Passed as an Integer because the undefined
+ -- value is not in the range of CPU_Range. Static range checks are
+ -- performed when analyzing the pragma, and dynamic ones are performed
+ -- before setting the affinity at run time.
-- Relative_Deadline is the relative deadline associated with the created
-- task by means of a pragma Relative_Deadline, or 0.0 if none.
-- State is the compiler generated task's procedure body
diff --git a/gcc/ada/sinfo.adb b/gcc/ada/sinfo.adb
index d76d33a..a8f7d8b 100644
--- a/gcc/ada/sinfo.adb
+++ b/gcc/ada/sinfo.adb
@@ -1459,7 +1459,7 @@ package body Sinfo is
pragma Assert (False
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Definition);
- return Flag10 (N);
+ return Flag14 (N);
end Has_Pragma_CPU;
function Has_Pragma_Priority
@@ -4438,7 +4438,7 @@ package body Sinfo is
pragma Assert (False
or else NT (N).Nkind = N_Subprogram_Body
or else NT (N).Nkind = N_Task_Definition);
- Set_Flag10 (N, Val);
+ Set_Flag14 (N, Val);
end Set_Has_Pragma_CPU;
procedure Set_Has_Pragma_Priority
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 2b2d882..c5a82ec 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -1133,7 +1133,7 @@ package Sinfo is
-- generate elaboration code, and non-preelaborated packages which do
-- not generate elaboration code.
- -- Has_Pragma_CPU (Flag10-Sem)
+ -- Has_Pragma_CPU (Flag14-Sem)
-- A flag present in N_Subprogram_Body and N_Task_Definition nodes to
-- flag the presence of a CPU pragma in the declaration sequence (public
-- or private in the task case).
@@ -4491,7 +4491,7 @@ package Sinfo is
-- Is_Task_Master (Flag5-Sem)
-- Was_Originally_Stub (Flag13-Sem)
-- Has_Relative_Deadline_Pragma (Flag9-Sem)
- -- Has_Pragma_CPU (Flag10-Sem)
+ -- Has_Pragma_CPU (Flag14-Sem)
------------------------------
-- Parameterized Expression --
@@ -4975,7 +4975,7 @@ package Sinfo is
-- Has_Task_Info_Pragma (Flag7-Sem)
-- Has_Task_Name_Pragma (Flag8-Sem)
-- Has_Relative_Deadline_Pragma (Flag9-Sem)
- -- Has_Pragma_CPU (Flag10-Sem)
+ -- Has_Pragma_CPU (Flag14-Sem)
--------------------
-- 9.1 Task Item --
@@ -8324,7 +8324,7 @@ package Sinfo is
(N : Node_Id) return Boolean; -- Flag17
function Has_Pragma_CPU
- (N : Node_Id) return Boolean; -- Flag10
+ (N : Node_Id) return Boolean; -- Flag14
function Has_Pragma_Priority
(N : Node_Id) return Boolean; -- Flag6
@@ -9275,7 +9275,7 @@ package Sinfo is
(N : Node_Id; Val : Boolean := True); -- Flag17
procedure Set_Has_Pragma_CPU
- (N : Node_Id; Val : Boolean := True); -- Flag10
+ (N : Node_Id; Val : Boolean := True); -- Flag14
procedure Set_Has_Pragma_Priority
(N : Node_Id; Val : Boolean := True); -- Flag6