aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-10-30 12:44:20 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2014-10-30 12:44:20 +0100
commitcd2c6027305a6d5f11efd5b1d8fc83fbac123b5a (patch)
tree433b64a9dcfd0033dae20f850a7a8a300a07dd89
parentb3407ce0ca15ff997069847461de8eee01ac1dd2 (diff)
downloadgcc-cd2c6027305a6d5f11efd5b1d8fc83fbac123b5a.zip
gcc-cd2c6027305a6d5f11efd5b1d8fc83fbac123b5a.tar.gz
gcc-cd2c6027305a6d5f11efd5b1d8fc83fbac123b5a.tar.bz2
[multiple changes]
2014-10-30 Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Following_Address_Clause): Modify Has_Following_Address_Clause so that it returns the address clause if present, rather than a boolean value. * sem_ch3.adb (Analyze_Object_Declaration): use Following_Address_Clause. * exp_ch3.adb (Expand_N_Object_Declaration): When a tagged object is initialized, insert tag assignment after object is frozen, which may be after an address clause that follows the declaration. 2014-10-30 Tristan Gingold <gingold@adacore.com> * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads, system-vxworks-arm.ads, system-freebsd-x86_64.ads, system-linux-hppa.ads, system-linux-s390.ads, system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads, system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads, system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads, system-linux-armel.ads, system-darwin-ppc.ads, system-solaris-sparc.ads, system-vxworks-m68k.ads, system-hpux-ia64.ads, system.ads, system-solaris-x86_64.ads, system-mingw-x86_64.ads, system-vxworks-mips.ads, system-linux-sparc.ads, system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Add pragma No_Elaboration_Code_All. 2014-10-30 Eric Botcazou <ebotcazou@adacore.com> * gnat_ugn.texi: Minor improvement to -flto entry. From-SVN: r216921
-rw-r--r--gcc/ada/ChangeLog31
-rw-r--r--gcc/ada/exp_ch3.adb31
-rw-r--r--gcc/ada/exp_util.adb62
-rw-r--r--gcc/ada/exp_util.ads11
-rw-r--r--gcc/ada/gnat_ugn.texi13
-rw-r--r--gcc/ada/sem_ch3.adb2
-rw-r--r--gcc/ada/system-aix.ads5
-rw-r--r--gcc/ada/system-aix64.ads5
-rw-r--r--gcc/ada/system-darwin-ppc.ads5
-rw-r--r--gcc/ada/system-darwin-x86.ads5
-rw-r--r--gcc/ada/system-darwin-x86_64.ads5
-rw-r--r--gcc/ada/system-freebsd-x86.ads5
-rw-r--r--gcc/ada/system-freebsd-x86_64.ads5
-rw-r--r--gcc/ada/system-hpux-ia64.ads5
-rw-r--r--gcc/ada/system-hpux.ads5
-rw-r--r--gcc/ada/system-linux-alpha.ads3
-rw-r--r--gcc/ada/system-linux-armel.ads3
-rw-r--r--gcc/ada/system-linux-hppa.ads5
-rw-r--r--gcc/ada/system-linux-ia64.ads5
-rw-r--r--gcc/ada/system-linux-ppc.ads5
-rw-r--r--gcc/ada/system-linux-s390.ads3
-rw-r--r--gcc/ada/system-linux-s390x.ads3
-rw-r--r--gcc/ada/system-linux-sh4.ads5
-rw-r--r--gcc/ada/system-linux-sparc.ads3
-rw-r--r--gcc/ada/system-linux-x86.ads5
-rw-r--r--gcc/ada/system-linux-x86_64.ads5
-rw-r--r--gcc/ada/system-mingw-x86_64.ads5
-rw-r--r--gcc/ada/system-mingw.ads5
-rw-r--r--gcc/ada/system-solaris-sparc.ads5
-rw-r--r--gcc/ada/system-solaris-sparcv9.ads5
-rw-r--r--gcc/ada/system-solaris-x86.ads5
-rw-r--r--gcc/ada/system-solaris-x86_64.ads5
-rw-r--r--gcc/ada/system-vxworks-arm.ads3
-rw-r--r--gcc/ada/system-vxworks-m68k.ads5
-rw-r--r--gcc/ada/system-vxworks-mips.ads5
-rw-r--r--gcc/ada/system-vxworks-ppc.ads3
-rw-r--r--gcc/ada/system-vxworks-sparcv9.ads5
-rw-r--r--gcc/ada/system-vxworks-x86.ads3
-rw-r--r--gcc/ada/system.ads3
39 files changed, 222 insertions, 75 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 36e8faf..1826cea 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,34 @@
+2014-10-30 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Following_Address_Clause): Modify
+ Has_Following_Address_Clause so that it returns the address
+ clause if present, rather than a boolean value.
+ * sem_ch3.adb (Analyze_Object_Declaration): use
+ Following_Address_Clause.
+ * exp_ch3.adb (Expand_N_Object_Declaration): When a tagged object
+ is initialized, insert tag assignment after object is frozen,
+ which may be after an address clause that follows the declaration.
+
+2014-10-30 Tristan Gingold <gingold@adacore.com>
+
+ * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
+ system-vxworks-arm.ads, system-freebsd-x86_64.ads,
+ system-linux-hppa.ads, system-linux-s390.ads,
+ system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
+ system-vxworks-sparcv9.ads, system-linux-ppc.ads, system-aix64.ads,
+ system-linux-sh4.ads, system-solaris-x86.ads, system-linux-x86_64.ads,
+ system-linux-x86.ads, system-vxworks-ppc.ads, system-hpux.ads,
+ system-linux-armel.ads, system-darwin-ppc.ads, system-solaris-sparc.ads,
+ system-vxworks-m68k.ads, system-hpux-ia64.ads, system.ads,
+ system-solaris-x86_64.ads, system-mingw-x86_64.ads,
+ system-vxworks-mips.ads, system-linux-sparc.ads, system-freebsd-x86.ads,
+ system-aix.ads, system-darwin-x86_64.ads, system-vxworks-x86.ads: Add
+ pragma No_Elaboration_Code_All.
+
+2014-10-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Minor improvement to -flto entry.
+
2014-10-30 Hristian Kirtchev <kirtchev@adacore.com>
* sem_util.adb (Inherit_Subprogram_Contract):
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 2de1887..5d544b8 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -5153,7 +5153,7 @@ package body Exp_Ch3 is
elsif Needs_Simple_Initialization
(Typ, Initialize_Scalars
- and then not Has_Following_Address_Clause (N))
+ and then No (Following_Address_Clause (N)))
and then not Is_Internal (Def_Id)
and then not Has_Init_Expression (N)
then
@@ -5849,14 +5849,27 @@ package body Exp_Ch3 is
Loc));
Set_Assignment_OK (New_Ref);
- Insert_Action_After (Init_After,
- Make_Assignment_Statement (Loc,
- Name => New_Ref,
- Expression =>
- Unchecked_Convert_To (RTE (RE_Tag),
- New_Occurrence_Of
- (Node (First_Elmt (Access_Disp_Table (Full_Typ))),
- Loc))));
+ -- Tag initialization cannot be done before object is
+ -- frozen. If an address clause follows, make sure freeze
+ -- node exists, and insert it and the tag assignment after
+ -- the address clause.
+
+ if Present (Following_Address_Clause (N)) then
+ Init_After := Following_Address_Clause (N);
+ Ensure_Freeze_Node (Def_Id);
+ end if;
+
+ Insert_Actions_After (Init_After,
+ New_List (
+ Freeze_Node (Def_Id),
+ Make_Assignment_Statement (Loc,
+ Name => New_Ref,
+ Expression =>
+ Unchecked_Convert_To (RTE (RE_Tag),
+ New_Occurrence_Of
+ (Node
+ (First_Elmt (Access_Disp_Table (Full_Typ))),
+ Loc)))));
end;
-- Handle C++ constructor calls. Note that we do not check that
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index b43731d..3888071 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -2912,6 +2912,37 @@ package body Exp_Util is
end if;
end Find_Hook_Context;
+ ------------------------------
+ -- Following_Address_Clause --
+ ------------------------------
+
+ -- Should this function check the private part in a package ???
+
+ function Following_Address_Clause (D : Node_Id) return Node_Id is
+ Id : constant Entity_Id := Defining_Identifier (D);
+ Decl : Node_Id;
+
+ begin
+ Decl := Next (D);
+ while Present (Decl) loop
+ if Nkind (Decl) = N_At_Clause
+ and then Chars (Identifier (Decl)) = Chars (Id)
+ then
+ return Decl;
+
+ elsif Nkind (Decl) = N_Attribute_Definition_Clause
+ and then Chars (Decl) = Name_Address
+ and then Chars (Name (Decl)) = Chars (Id)
+ then
+ return Decl;
+ end if;
+
+ Next (Decl);
+ end loop;
+
+ return Empty;
+ end Following_Address_Clause;
+
----------------------
-- Force_Evaluation --
----------------------
@@ -3519,37 +3550,6 @@ package body Exp_Util is
return False;
end Has_Annotate_Pragma_For_External_Axiomatization;
- ----------------------------------
- -- Has_Following_Address_Clause --
- ----------------------------------
-
- -- Should this function check the private part in a package ???
-
- function Has_Following_Address_Clause (D : Node_Id) return Boolean is
- Id : constant Entity_Id := Defining_Identifier (D);
- Decl : Node_Id;
-
- begin
- Decl := Next (D);
- while Present (Decl) loop
- if Nkind (Decl) = N_At_Clause
- and then Chars (Identifier (Decl)) = Chars (Id)
- then
- return True;
-
- elsif Nkind (Decl) = N_Attribute_Definition_Clause
- and then Chars (Decl) = Name_Address
- and then Chars (Name (Decl)) = Chars (Id)
- then
- return True;
- end if;
-
- Next (Decl);
- end loop;
-
- return False;
- end Has_Following_Address_Clause;
-
--------------------
-- Homonym_Number --
--------------------
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads
index 770b23c..c0edb4b 100644
--- a/gcc/ada/exp_util.ads
+++ b/gcc/ada/exp_util.ads
@@ -502,6 +502,12 @@ package Exp_Util is
-- be evaluated, for example if N is the right operand of a short circuit
-- operator.
+ function Following_Address_Clause (D : Node_Id) return Node_Id;
+ -- D is the node for an object declaration. This function searches the
+ -- current declarative part to look for an address clause for the object
+ -- being declared, and returns the clause if one is found, returns
+ -- Empty otherwise.
+
procedure Force_Evaluation
(Exp : Node_Id;
Name_Req : Boolean := False);
@@ -569,11 +575,6 @@ package Exp_Util is
-- pragmas at the start of the package declaration contains
-- pragma Annotate (GNATprove, External_Axiomatization);
- function Has_Following_Address_Clause (D : Node_Id) return Boolean;
- -- D is the node for an object declaration. This function searches the
- -- current declarative part to look for an address clause for the object
- -- being declared, and returns True if one is found.
-
function Homonym_Number (Subp : Entity_Id) return Nat;
-- Here subp is the entity for a subprogram. This routine returns the
-- homonym number used to disambiguate overloaded subprograms in the same
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 1290bf5..573377f 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -3512,12 +3512,15 @@ defer most optimizations until the link stage. The advantage of this
approach is that the compiler can do a whole-program analysis and choose
the best interprocedural optimization strategy based on a complete view
of the program, instead of a fragmentary view with the usual approach.
-This can also speed up the compilation of huge programs and reduce the
-size of the final executable, compared with a per-unit compilation with
-full inlining across modules enabled with the @option{-gnatn2} switch.
-The drawback of this approach is that it may require much more memory.
+This can also speed up the compilation of big programs and reduce the
+size of the executable when used in conjunction with the @option{-gnatn1}
+switch, compared with a traditional per-unit compilation with full
+inlining across modules enabled with the @option{-gnatn2} switch.
+The drawback of this approach is that it may require more memory and that
+the debugging information generated by -g with it might be hardly usable.
The switch, as well as the accompanying @option{-Ox} switches, must be
-specified both for the compilation and the link phases.
+specified both for the compilation and the link phases; the recommended
+combination is @option{-O[23] -gnatn1 -flto[=n]} in most cases.
If the @var{n} parameter is specified, the optimization and final code
generation at link time are executed using @var{n} parallel jobs by
means of an installed @command{make} program.
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index bff1ac4..c9b86ba 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -3600,7 +3600,7 @@ package body Sem_Ch3 is
if Comes_From_Source (N)
and then Expander_Active
- and then Has_Following_Address_Clause (N)
+ and then Present (Following_Address_Clause (N))
and then Nkind (E) = N_Aggregate
then
Set_Etype (E, T);
diff --git a/gcc/ada/system-aix.ads b/gcc/ada/system-aix.ads
index 19d65bd..4a14f64 100644
--- a/gcc/ada/system-aix.ads
+++ b/gcc/ada/system-aix.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (AIX/PPC Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-aix64.ads b/gcc/ada/system-aix64.ads
index 568c24f..fd881bc 100644
--- a/gcc/ada/system-aix64.ads
+++ b/gcc/ada/system-aix64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (PPC/AIX64 Version) --
-- --
--- Copyright (C) 2009-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 2009-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-darwin-ppc.ads b/gcc/ada/system-darwin-ppc.ads
index d45ab4e..c4fbbd8 100644
--- a/gcc/ada/system-darwin-ppc.ads
+++ b/gcc/ada/system-darwin-ppc.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Darwin/PPC Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-darwin-x86.ads b/gcc/ada/system-darwin-x86.ads
index 908cf50..cc27c56 100644
--- a/gcc/ada/system-darwin-x86.ads
+++ b/gcc/ada/system-darwin-x86.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Darwin/x86 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-darwin-x86_64.ads b/gcc/ada/system-darwin-x86_64.ads
index 0e5e8c0..054271f 100644
--- a/gcc/ada/system-darwin-x86_64.ads
+++ b/gcc/ada/system-darwin-x86_64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Darwin/x86_64 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-freebsd-x86.ads b/gcc/ada/system-freebsd-x86.ads
index 57bff62..95f1daa 100644
--- a/gcc/ada/system-freebsd-x86.ads
+++ b/gcc/ada/system-freebsd-x86.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (FreeBSD/x86 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-freebsd-x86_64.ads b/gcc/ada/system-freebsd-x86_64.ads
index e99578d..99c5363 100644
--- a/gcc/ada/system-freebsd-x86_64.ads
+++ b/gcc/ada/system-freebsd-x86_64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (FreeBSD/x86_64 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-hpux-ia64.ads b/gcc/ada/system-hpux-ia64.ads
index c1f2f94..2fb0f78 100644
--- a/gcc/ada/system-hpux-ia64.ads
+++ b/gcc/ada/system-hpux-ia64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (HP-UX/ia64 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-hpux.ads b/gcc/ada/system-hpux.ads
index 47793e5..bc3052b 100644
--- a/gcc/ada/system-hpux.ads
+++ b/gcc/ada/system-hpux.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (HP-UX Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-alpha.ads b/gcc/ada/system-linux-alpha.ads
index 044ab3e..c364496 100644
--- a/gcc/ada/system-linux-alpha.ads
+++ b/gcc/ada/system-linux-alpha.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-armel.ads b/gcc/ada/system-linux-armel.ads
index 36cccab..768fdd4 100644
--- a/gcc/ada/system-linux-armel.ads
+++ b/gcc/ada/system-linux-armel.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-hppa.ads b/gcc/ada/system-linux-hppa.ads
index 5ec9087..4d3b2af 100644
--- a/gcc/ada/system-linux-hppa.ads
+++ b/gcc/ada/system-linux-hppa.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU/Linux-HPPA Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-ia64.ads b/gcc/ada/system-linux-ia64.ads
index c0cb664..c1a8ca1 100644
--- a/gcc/ada/system-linux-ia64.ads
+++ b/gcc/ada/system-linux-ia64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU-Linux/ia64 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-ppc.ads b/gcc/ada/system-linux-ppc.ads
index fac85a5..927bd85 100644
--- a/gcc/ada/system-linux-ppc.ads
+++ b/gcc/ada/system-linux-ppc.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU-Linux/PPC Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-s390.ads b/gcc/ada/system-linux-s390.ads
index e240d2e..1765a22 100644
--- a/gcc/ada/system-linux-s390.ads
+++ b/gcc/ada/system-linux-s390.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-s390x.ads b/gcc/ada/system-linux-s390x.ads
index 19d2180..0e41be3 100644
--- a/gcc/ada/system-linux-s390x.ads
+++ b/gcc/ada/system-linux-s390x.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-sh4.ads b/gcc/ada/system-linux-sh4.ads
index 8ee07e3..d3590a1 100644
--- a/gcc/ada/system-linux-sh4.ads
+++ b/gcc/ada/system-linux-sh4.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU-Linux/sh4 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-sparc.ads b/gcc/ada/system-linux-sparc.ads
index 6fde138..1ad20e2 100644
--- a/gcc/ada/system-linux-sparc.ads
+++ b/gcc/ada/system-linux-sparc.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-x86.ads b/gcc/ada/system-linux-x86.ads
index 270ed06..8bcc2ea 100644
--- a/gcc/ada/system-linux-x86.ads
+++ b/gcc/ada/system-linux-x86.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU-Linux/x86 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-linux-x86_64.ads b/gcc/ada/system-linux-x86_64.ads
index 4c315d1..2874376 100644
--- a/gcc/ada/system-linux-x86_64.ads
+++ b/gcc/ada/system-linux-x86_64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (GNU-Linux/x86-64 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-mingw-x86_64.ads b/gcc/ada/system-mingw-x86_64.ads
index b0b1222..7b73968 100644
--- a/gcc/ada/system-mingw-x86_64.ads
+++ b/gcc/ada/system-mingw-x86_64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Windows Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-mingw.ads b/gcc/ada/system-mingw.ads
index ad64a84..84e4332 100644
--- a/gcc/ada/system-mingw.ads
+++ b/gcc/ada/system-mingw.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Windows Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-solaris-sparc.ads b/gcc/ada/system-solaris-sparc.ads
index ac695c5..768f4ca 100644
--- a/gcc/ada/system-solaris-sparc.ads
+++ b/gcc/ada/system-solaris-sparc.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (SUN Solaris Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-solaris-sparcv9.ads b/gcc/ada/system-solaris-sparcv9.ads
index a7db8df..5cfea64 100644
--- a/gcc/ada/system-solaris-sparcv9.ads
+++ b/gcc/ada/system-solaris-sparcv9.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (Solaris Sparcv9 Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-solaris-x86.ads b/gcc/ada/system-solaris-x86.ads
index 3987ea8..0235bea 100644
--- a/gcc/ada/system-solaris-x86.ads
+++ b/gcc/ada/system-solaris-x86.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (x86 Solaris Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-solaris-x86_64.ads b/gcc/ada/system-solaris-x86_64.ads
index ed78923..94afe00 100644
--- a/gcc/ada/system-solaris-x86_64.ads
+++ b/gcc/ada/system-solaris-x86_64.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (x86-64 Solaris Version) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-arm.ads b/gcc/ada/system-vxworks-arm.ads
index 3b455d2..c29485f 100644
--- a/gcc/ada/system-vxworks-arm.ads
+++ b/gcc/ada/system-vxworks-arm.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-m68k.ads b/gcc/ada/system-vxworks-m68k.ads
index d747792..8b9a661 100644
--- a/gcc/ada/system-vxworks-m68k.ads
+++ b/gcc/ada/system-vxworks-m68k.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (VxWorks version M68K) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-mips.ads b/gcc/ada/system-vxworks-mips.ads
index 47b46fa..57dd4e70 100644
--- a/gcc/ada/system-vxworks-mips.ads
+++ b/gcc/ada/system-vxworks-mips.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (VxWorks Version Mips) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-ppc.ads b/gcc/ada/system-vxworks-ppc.ads
index 9461577..33e1e7e 100644
--- a/gcc/ada/system-vxworks-ppc.ads
+++ b/gcc/ada/system-vxworks-ppc.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-sparcv9.ads b/gcc/ada/system-vxworks-sparcv9.ads
index 9660167..e81dafd 100644
--- a/gcc/ada/system-vxworks-sparcv9.ads
+++ b/gcc/ada/system-vxworks-sparcv9.ads
@@ -7,7 +7,7 @@
-- S p e c --
-- (VxWorks Version Sparc/64) --
-- --
--- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2014, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system-vxworks-x86.ads b/gcc/ada/system-vxworks-x86.ads
index c5ce525..3b8a9c5 100644
--- a/gcc/ada/system-vxworks-x86.ads
+++ b/gcc/ada/system-vxworks-x86.ads
@@ -40,6 +40,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;
diff --git a/gcc/ada/system.ads b/gcc/ada/system.ads
index 9206c1f..6dfb955 100644
--- a/gcc/ada/system.ads
+++ b/gcc/ada/system.ads
@@ -50,6 +50,9 @@ package System is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
-- 2005, this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
type Name is (SYSTEM_NAME_GNAT);
System_Name : constant Name := SYSTEM_NAME_GNAT;