From cd2c6027305a6d5f11efd5b1d8fc83fbac123b5a Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 30 Oct 2014 12:44:20 +0100 Subject: [PATCH] [multiple changes] 2014-10-30 Ed Schonberg * 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 * 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 * gnat_ugn.texi: Minor improvement to -flto entry. From-SVN: r216921 --- gcc/ada/ChangeLog | 31 +++++++++++++++ gcc/ada/exp_ch3.adb | 31 ++++++++++----- gcc/ada/exp_util.adb | 62 +++++++++++++++--------------- gcc/ada/exp_util.ads | 11 +++--- gcc/ada/gnat_ugn.texi | 13 ++++--- gcc/ada/sem_ch3.adb | 2 +- gcc/ada/system-aix.ads | 5 ++- gcc/ada/system-aix64.ads | 5 ++- gcc/ada/system-darwin-ppc.ads | 5 ++- gcc/ada/system-darwin-x86.ads | 5 ++- gcc/ada/system-darwin-x86_64.ads | 5 ++- gcc/ada/system-freebsd-x86.ads | 5 ++- gcc/ada/system-freebsd-x86_64.ads | 5 ++- gcc/ada/system-hpux-ia64.ads | 5 ++- gcc/ada/system-hpux.ads | 5 ++- gcc/ada/system-linux-alpha.ads | 3 ++ gcc/ada/system-linux-armel.ads | 3 ++ gcc/ada/system-linux-hppa.ads | 5 ++- gcc/ada/system-linux-ia64.ads | 5 ++- gcc/ada/system-linux-ppc.ads | 5 ++- gcc/ada/system-linux-s390.ads | 3 ++ gcc/ada/system-linux-s390x.ads | 3 ++ gcc/ada/system-linux-sh4.ads | 5 ++- gcc/ada/system-linux-sparc.ads | 3 ++ gcc/ada/system-linux-x86.ads | 5 ++- gcc/ada/system-linux-x86_64.ads | 5 ++- gcc/ada/system-mingw-x86_64.ads | 5 ++- gcc/ada/system-mingw.ads | 5 ++- gcc/ada/system-solaris-sparc.ads | 5 ++- gcc/ada/system-solaris-sparcv9.ads | 5 ++- gcc/ada/system-solaris-x86.ads | 5 ++- gcc/ada/system-solaris-x86_64.ads | 5 ++- gcc/ada/system-vxworks-arm.ads | 3 ++ gcc/ada/system-vxworks-m68k.ads | 5 ++- gcc/ada/system-vxworks-mips.ads | 5 ++- gcc/ada/system-vxworks-ppc.ads | 3 ++ gcc/ada/system-vxworks-sparcv9.ads | 5 ++- gcc/ada/system-vxworks-x86.ads | 3 ++ gcc/ada/system.ads | 3 ++ 39 files changed, 222 insertions(+), 75 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 36e8faf4d6e..1826cea7121 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,34 @@ +2014-10-30 Ed Schonberg + + * 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 + + * 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 + + * gnat_ugn.texi: Minor improvement to -flto entry. + 2014-10-30 Hristian Kirtchev * sem_util.adb (Inherit_Subprogram_Contract): diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb index 2de1887af75..5d544b89e14 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 b43731d30eb..388807100dd 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 770b23c2c03..c0edb4b8e60 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 1290bf58e47..573377fd146 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 bff1ac4713f..c9b86ba41ad 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 19d65bdfcdd..4a14f64bfdc 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 568c24f2569..fd881bc4c51 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 d45ab4ee846..c4fbbd8d3d4 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 908cf50de15..cc27c56e5b2 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 0e5e8c02727..054271ff0dc 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 57bff62938b..95f1daabcbe 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 e99578d97f6..99c53639192 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 c1f2f94962b..2fb0f7816d5 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 47793e55f67..bc3052b41c6 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 044ab3e1c53..c364496fc58 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 36cccabfc4f..768fdd4f89f 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 5ec908708bb..4d3b2af9bb7 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 c0cb6643c92..c1a8ca18d20 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 fac85a52fe5..927bd85aa33 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 e240d2e4864..1765a225ac8 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 19d2180ffcc..0e41be3ae36 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 8ee07e374db..d3590a1ed25 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 6fde138ea55..1ad20e2b07a 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 270ed06cae6..8bcc2eab5d4 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 4c315d11cc0..2874376f002 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 b0b122216a8..7b73968d10c 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 ad64a84dfcf..84e4332eaa1 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 ac695c543fe..768f4ca30cb 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 a7db8dfab59..5cfea64d3f5 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 3987ea87ea1..0235beae72b 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 ed78923483f..94afe00ccf3 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 3b455d29ffc..c29485f7d09 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 d747792a56e..8b9a661ec91 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 47b46fa2f7d..57dd4e70ffe 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 94615777a0e..33e1e7edc35 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 96601676a24..e81dafd43a6 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 c5ce5259870..3b8a9c5076e 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 9206c1f685d..6dfb955592a 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; -- 2.30.2