summaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog45
-rw-r--r--gcc/ada/exp_ch5.adb28
-rw-r--r--gcc/ada/freeze.adb33
-rw-r--r--gcc/ada/gnat1drv.adb6
-rw-r--r--gcc/ada/gnat_rm.texi4
-rw-r--r--gcc/ada/gnat_ugn.texi14
-rw-r--r--gcc/ada/make.adb5
-rw-r--r--gcc/ada/makeutl.adb7
-rw-r--r--gcc/ada/opt.ads4
-rw-r--r--gcc/ada/par-ch12.adb4
-rw-r--r--gcc/ada/s-pooglo.adb10
-rw-r--r--gcc/ada/s-taprop-irix.adb2
-rw-r--r--gcc/ada/s-taprop-linux.adb2
-rw-r--r--gcc/ada/s-taprop-posix.adb2
-rw-r--r--gcc/ada/s-taprop-solaris.adb4
-rw-r--r--gcc/ada/s-taprop-tru64.adb2
-rw-r--r--gcc/ada/s-taprop-vxworks.adb2
-rw-r--r--gcc/ada/sem_ch12.adb3
-rw-r--r--gcc/ada/sem_ch6.adb24
-rw-r--r--gcc/ada/sem_type.adb37
-rw-r--r--gcc/ada/sinfo.ads9
-rw-r--r--gcc/ada/system-aix.ads1
-rw-r--r--gcc/ada/system-aix64.ads1
-rw-r--r--gcc/ada/system-darwin-ppc.ads1
-rw-r--r--gcc/ada/system-darwin-x86.ads1
-rw-r--r--gcc/ada/system-darwin-x86_64.ads1
-rw-r--r--gcc/ada/system-freebsd-x86.ads1
-rw-r--r--gcc/ada/system-hpux-ia64.ads1
-rw-r--r--gcc/ada/system-hpux.ads1
-rw-r--r--gcc/ada/system-irix-n32.ads1
-rw-r--r--gcc/ada/system-irix-o32.ads1
-rw-r--r--gcc/ada/system-linux-alpha.ads1
-rw-r--r--gcc/ada/system-linux-hppa.ads1
-rw-r--r--gcc/ada/system-linux-ia64.ads1
-rw-r--r--gcc/ada/system-linux-ppc.ads1
-rw-r--r--gcc/ada/system-linux-s390.ads1
-rw-r--r--gcc/ada/system-linux-s390x.ads1
-rw-r--r--gcc/ada/system-linux-sh4.ads1
-rw-r--r--gcc/ada/system-linux-sparc.ads1
-rw-r--r--gcc/ada/system-linux-x86.ads1
-rw-r--r--gcc/ada/system-linux-x86_64.ads1
-rw-r--r--gcc/ada/system-lynxos-ppc.ads1
-rw-r--r--gcc/ada/system-lynxos-x86.ads1
-rw-r--r--gcc/ada/system-mingw-x86_64.ads1
-rw-r--r--gcc/ada/system-mingw.ads1
-rw-r--r--gcc/ada/system-solaris-sparc.ads1
-rw-r--r--gcc/ada/system-solaris-sparcv9.ads1
-rw-r--r--gcc/ada/system-solaris-x86.ads1
-rw-r--r--gcc/ada/system-solaris-x86_64.ads1
-rw-r--r--gcc/ada/system-tru64.ads1
-rw-r--r--gcc/ada/system-vms-ia64.ads1
-rw-r--r--gcc/ada/system-vms_64.ads1
-rw-r--r--gcc/ada/system-vxworks-arm.ads1
-rw-r--r--gcc/ada/system-vxworks-m68k.ads1
-rw-r--r--gcc/ada/system-vxworks-mips.ads1
-rw-r--r--gcc/ada/system-vxworks-ppc.ads1
-rw-r--r--gcc/ada/system-vxworks-sparcv9.ads1
-rw-r--r--gcc/ada/system-vxworks-x86.ads1
-rw-r--r--gcc/ada/system.ads2
-rw-r--r--gcc/ada/targparm.adb8
-rw-r--r--gcc/ada/targparm.ads3
61 files changed, 173 insertions, 124 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index bae5e1ba533..0603a312e47 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,48 @@
+2011-08-29 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, sinfo.ads, make.adb, s-pooglo.adb, sem_ch12.adb,
+ freeze.adb, sem_ch6.adb, par-ch12.adb: Minor reformatting.
+
+2011-08-29 Tristan Gingold <gingold@adacore.com>
+
+ * system-darwin-x86.ads, system-linux-s390x.ads, system-linux-alpha.ads,
+ system-tru64.ads, system-irix-n32.ads, system-vxworks-arm.ads,
+ system-linux-hppa.ads, system-linux-s390.ads,
+ system-solaris-sparcv9.ads, system-mingw.ads, system-linux-ia64.ads,
+ system-vms_64.ads, system-vxworks-sparcv9.ads, system-linux-ppc.ads,
+ system-aix64.ads, system-lynxos-ppc.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-darwin-ppc.ads,
+ system-solaris-sparc.ads, system-lynxos-x86.ads,
+ system-vxworks-m68k.ads, system-hpux-ia64.ads, system-irix-o32.ads,
+ system-solaris-x86_64.ads, system-mingw-x86_64.ads,
+ system-vxworks-mips.ads, system-linux-sparc.ads, system-vms-ia64.ads,
+ system-freebsd-x86.ads, system-aix.ads, system-darwin-x86_64.ads,
+ system-vxworks-x86.ads: Remove GCC_ZCX_Support
+ * s-taprop-posix.adb, s-taprop-irix.adb, s-taprop-vxworks.adb,
+ s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb: Ditto.
+ * opt.ads: Adjust comment.
+ * targparm.ads, targparm.adb: Remove GCC_ZCX_Support_On_Target.
+ * gnat1drv.adb: Do not check for GCC_ZCX_Support_On_Target.
+ * system.ads: Move GCC_ZCX_Support to obsolete entries.
+
+2011-08-29 Emmanuel Briot <briot@adacore.com>
+
+ * makeutl.adb (Do_Complete): Resolve symbolic links when a relative
+ file name is specified on the gnatmake or gprbuild command line, and
+ before we search for that file in the project.
+
+2011-08-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Within_Instance): New predicate in Collect_Interps,
+ used to determine whether a possible interpretation for an overloadable
+ entity is declared within the current instantiation and should be
+ included in the candidate set.
+
+2011-08-29 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Clean ups.
+
2011-08-29 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Actuals): Use base type to determine whether an
diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb
index 47ea0d84392..0420e741c0d 100644
--- a/gcc/ada/exp_ch5.adb
+++ b/gcc/ada/exp_ch5.adb
@@ -1891,11 +1891,15 @@ package body Exp_Ch5 is
if Nkind (Lhs) = N_Indexed_Component
and then Is_Bit_Packed_Array (Etype (Prefix (Lhs)))
then
+ -- Normal case, no change of representation
+
if not Crep then
Expand_Bit_Packed_Element_Set (N);
return;
- else
+ -- Change of representation case
+
+ else
-- Generate the following, to force component-by-component
-- assignments in an efficient way. Otherwise each component
-- will require a temporary and two bit-field manipulations.
@@ -1909,16 +1913,18 @@ package body Exp_Ch5 is
Stats : List_Id;
begin
- Stats := New_List (
- Make_Object_Declaration (Loc,
- Defining_Identifier => Tnn,
- Object_Definition => New_Occurrence_Of (Etype (Lhs), Loc)),
- Make_Assignment_Statement (Loc,
- Name => New_Occurrence_Of (Tnn, Loc),
- Expression => Relocate_Node (Rhs)),
- Make_Assignment_Statement (Loc,
- Name => Relocate_Node (Lhs),
- Expression => New_Occurrence_Of (Tnn, Loc)));
+ Stats :=
+ New_List (
+ Make_Object_Declaration (Loc,
+ Defining_Identifier => Tnn,
+ Object_Definition =>
+ New_Occurrence_Of (Etype (Lhs), Loc)),
+ Make_Assignment_Statement (Loc,
+ Name => New_Occurrence_Of (Tnn, Loc),
+ Expression => Relocate_Node (Rhs)),
+ Make_Assignment_Statement (Loc,
+ Name => Relocate_Node (Lhs),
+ Expression => New_Occurrence_Of (Tnn, Loc)));
Insert_Actions (N, Stats);
Rewrite (N, Make_Null_Statement (Loc));
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 3d366fd3c09..0d3c1312538 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -1439,27 +1439,27 @@ package body Freeze is
end loop;
end;
- -- We add finalization masters to access types whose designated types
- -- require finalization. This is normally done when freezing the
- -- type, but this misses recursive type definitions where the later
- -- members of the recursion introduce controlled components (such as
- -- can happen when incomplete types are involved), as well cases
- -- where a component type is private and the controlled full type
- -- occurs after the access type is frozen. Cases that don't need a
- -- finalization master are generic formal types (the actual type will
- -- have it) and types with Java and CIL conventions, since those are
- -- used for API bindings. (Are there any other cases that should be
- -- excluded here???)
+ -- We add finalization collections to access types whose designated
+ -- types require finalization. This is normally done when freezing
+ -- the type, but this misses recursive type definitions where the
+ -- later members of the recursion introduce controlled components
+ -- (such as can happen when incomplete types are involved), as well
+ -- cases where a component type is private and the controlled full
+ -- type occurs after the access type is frozen. Cases that don't
+ -- need a finalization collection are generic formal types (the
+ -- actual type will have it) and types with Java and CIL conventions,
+ -- since those are used for API bindings. (Are there any other cases
+ -- that should be excluded here???)
elsif Is_Access_Type (E)
and then Comes_From_Source (E)
and then not Is_Generic_Type (E)
and then Needs_Finalization (Designated_Type (E))
- and then No (Finalization_Master (E))
+ and then No (Associated_Collection (E))
and then Convention (Designated_Type (E)) /= Convention_Java
and then Convention (Designated_Type (E)) /= Convention_CIL
then
- Build_Finalization_Master (E);
+ Build_Finalization_Collection (E);
end if;
Next_Entity (E);
@@ -2036,7 +2036,7 @@ package body Freeze is
Next_Entity (Comp);
end loop;
- -- Deal with pragma Bit_Order setting non-standard bit order
+ -- Deal with Bit_Order aspect specifying a non-default bit order
if Reverse_Bit_Order (Rec) and then Base_Type (Rec) = Rec then
if not Placed_Component then
@@ -2304,9 +2304,8 @@ package body Freeze is
elsif Inside_A_Generic and then External_Ref_In_Generic (Test_E) then
return No_List;
- -- AI05-0213: a formal incomplete type does not freeze the actual.
- -- In the instance, the same applies to the subtype that renames
- -- the actual.
+ -- AI05-0213: A formal incomplete type does not freeze the actual. In
+ -- the instance, the same applies to the subtype renaming the actual.
elsif Is_Private_Type (E)
and then Is_Generic_Actual_Type (E)
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb
index 7ae04fe62c7..6f3e6f1f956 100644
--- a/gcc/ada/gnat1drv.adb
+++ b/gcc/ada/gnat1drv.adb
@@ -324,11 +324,7 @@ procedure Gnat1drv is
-- Set and check exception mechanism
if Targparm.ZCX_By_Default_On_Target then
- if Targparm.GCC_ZCX_Support_On_Target then
- Exception_Mechanism := Back_End_Exceptions;
- else
- Osint.Fail ("Zero Cost Exceptions not supported on this target");
- end if;
+ Exception_Mechanism := Back_End_Exceptions;
end if;
-- Set proper status for overflow checks. We turn on overflow checks if
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi
index ac7ae790b78..b2531add514 100644
--- a/gcc/ada/gnat_rm.texi
+++ b/gcc/ada/gnat_rm.texi
@@ -527,7 +527,7 @@ isolate and clearly document any sections of your program that make use
of these features in a non-portable manner.
@ifset PROEDITION
-For ease of exposition, ``GNAT Pro'' will be referred to simply as
+For ease of exposition, ``@value{EDITION}'' will be referred to simply as
``GNAT'' in the remainder of this document.
@end ifset
@@ -5879,7 +5879,7 @@ the containing record @var{R}.
@code{Standard'Compiler_Version} (@code{Standard} is the only allowed
prefix) yields a static string identifying the version of the compiler
being used to compile the unit containing the attribute reference. A
-typical result would be something like "GNAT Pro 6.3.0w (20090221)".
+typical result would be something like "@value{EDITION} @value{gnat_version} (20090221)".
@node Code_Address
@unnumberedsec Code_Address
diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi
index 7f2d655540e..9fb068db6f1 100644
--- a/gcc/ada/gnat_ugn.texi
+++ b/gcc/ada/gnat_ugn.texi
@@ -7,7 +7,7 @@
@c o
@c G N A T _ U G N o
@c o
-@c Copyright (C) 1992-2011, AdaCore o
+@c Copyright (C) 1992-2011, Free Software Foundation, Inc. o
@c o
@c oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
@@ -7758,11 +7758,11 @@ found in the GCC documentation.
Use of these @option{-m} switches may in some cases result in improved
code performance.
-The GNAT Pro technology is tested and qualified without any
+The @value{EDITION} technology is tested and qualified without any
@option{-m} switches,
so generally the most reliable approach is to avoid the use of these
switches. However, we generally expect most of these switches to work
-successfully with GNAT Pro, and many customers have reported successful
+successfully with @value{EDITION}, and many customers have reported successful
use of these options.
Our general advice is to avoid the use of @option{-m} switches unless
@@ -18944,7 +18944,7 @@ program, in which case the execution of that program is simply suspended
until the connection between the debugger and gdbserver is established.
For more information on how to use gdbserver, @ref{Top, Server, Using
-the gdbserver Program, gdb, Debugging with GDB}. GNAT Pro provides support
+the gdbserver Program, gdb, Debugging with GDB}. @value{EDITION} provides support
for gdbserver on x86-linux, x86-windows and x86_64-linux.
@node GNAT Abnormal Termination or Failure to Terminate
@@ -21110,7 +21110,7 @@ of the DECset package.
&\cr
\+\it Tool
&\it Product with HP Ada
- & \it Product with GNAT Pro\cr
+ & \it Product with @value{EDITION}\cr
\smallskip
\+Code Management System
&HP CMS
@@ -21167,7 +21167,7 @@ of the DECset package.
@c the TeX version above for the printed version
@flushleft
@c @multitable @columnfractions .3 .4 .4
-@multitable {Source Code Analyzer /}{Tool with HP Ada}{Tool with GNAT Pro}
+@multitable {Source Code Analyzer /}{Tool with HP Ada}{Tool with @value{EDITION}}
@item @i{Tool}
@tab @i{Tool with HP Ada}
@tab @i{Tool with @value{EDITION}}
@@ -26435,7 +26435,7 @@ in 64-bit address space are acceptable.
@noindent
64-bit @value{EDITION} for Open VMS takes advantage of the freedom given in the
Ada standard with respect to the type of @code{System.Address}. Previous
-versions of GNAT Pro have defined this type as private and implemented it as a
+versions of @value{EDITION} have defined this type as private and implemented it as a
modular type.
In order to allow defining @code{System.Short_Address} as a proper subtype,
diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb
index 470f4d6a392..cc38ae8c4de 100644
--- a/gcc/ada/make.adb
+++ b/gcc/ada/make.adb
@@ -6106,8 +6106,9 @@ package body Make is
Current_Work_Dir => Current_Work_Dir.all);
if Is_First_Main then
- -- Put the default source dirs in the source path only now,
- -- so that we take the correct ones in the case when --RTS= is
+
+ -- Put the default source dirs in the source path only now, so
+ -- that we take the correct ones in the case where --RTS= is
-- specified in the Builder switches.
Osint.Add_Default_Search_Dirs;
diff --git a/gcc/ada/makeutl.adb b/gcc/ada/makeutl.adb
index 4b6828041fb..c8cbd0522e3 100644
--- a/gcc/ada/makeutl.adb
+++ b/gcc/ada/makeutl.adb
@@ -1562,11 +1562,16 @@ package body Makeutl is
Main_Id := Create_Name (Base);
else
declare
+ -- Always resolve links here, so that users
+ -- can be specify any name on the command line.
+ -- If the project itself uses links, the user
+ -- will be using -eL anyway, and thus files are
+ -- also stored with resolved names.
Absolute : constant String :=
Normalize_Pathname
(Name => Main,
Directory => "",
- Resolve_Links => False,
+ Resolve_Links => True,
Case_Sensitive => False);
begin
File.File := Create_Name (Absolute);
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads
index e69277f7656..96c868a9992 100644
--- a/gcc/ada/opt.ads
+++ b/gcc/ada/opt.ads
@@ -537,8 +537,8 @@ package Opt is
Front_End_Setjmp_Longjmp_Exceptions;
-- GNAT
-- Set to the appropriate value depending on the default as given in
- -- system.ads (ZCX_By_Default, GCC_ZCX_Support). The C convention is there
- -- to make this variable accessible to gigi.
+ -- system.ads (ZCX_By_Default). The C convention is there to make this
+ -- variable accessible to gigi.
Exception_Tracebacks : Boolean := False;
-- GNATBIND
diff --git a/gcc/ada/par-ch12.adb b/gcc/ada/par-ch12.adb
index a7e52426839..64f03616969 100644
--- a/gcc/ada/par-ch12.adb
+++ b/gcc/ada/par-ch12.adb
@@ -533,7 +533,7 @@ package body Ch12 is
if Token = Tok_Semicolon then
- -- Ada2012 : incomplete formal type
+ -- Ada2012: Incomplete formal type
Scan; -- past semicolon
@@ -546,7 +546,7 @@ package body Ch12 is
Set_Formal_Type_Definition
(Decl_Node,
- New_Node (N_Formal_Incomplete_Type_Definition, Token_Ptr));
+ New_Node (N_Formal_Incomplete_Type_Definition, Token_Ptr));
return Decl_Node;
else
diff --git a/gcc/ada/s-pooglo.adb b/gcc/ada/s-pooglo.adb
index 6e9cc30a3c7..e4dcdb091c7 100644
--- a/gcc/ada/s-pooglo.adb
+++ b/gcc/ada/s-pooglo.adb
@@ -68,6 +68,9 @@ package body System.Pool_Global is
raise Storage_Error;
end if;
+ -- Case where alignment requested is greater than the alignment that is
+ -- guaranteed to be provided by the system allocator.
+
if Alignment > Standard'System_Allocator_Alignment then
-- Realign the returned address
@@ -87,7 +90,9 @@ package body System.Pool_Global is
begin
Saved_Address := Allocated;
end;
+
Address := Aligned_Address;
+
else
Address := Allocated;
end if;
@@ -108,6 +113,10 @@ package body System.Pool_Global is
pragma Warnings (Off, Storage_Size);
begin
+ -- Case where the alignment of the block exceeds the guaranteed
+ -- alignment required by the system storage allocator, meaning that
+ -- this was specially wrapped at allocation time.
+
if Alignment > Standard'System_Allocator_Alignment then
-- Retrieve the block address
@@ -120,6 +129,7 @@ package body System.Pool_Global is
begin
Memory.Free (Saved_Address);
end;
+
else
Memory.Free (Address);
end if;
diff --git a/gcc/ada/s-taprop-irix.adb b/gcc/ada/s-taprop-irix.adb
index 3e0b9ab7cd3..9d8ac90b59c 100644
--- a/gcc/ada/s-taprop-irix.adb
+++ b/gcc/ada/s-taprop-irix.adb
@@ -164,7 +164,7 @@ package body System.Task_Primitives.Operations is
-- cases (e.g. shutdown of the Server_Task in System.Interrupts) we
-- need to send the Abort signal to a task.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/s-taprop-linux.adb b/gcc/ada/s-taprop-linux.adb
index 8d46cbd98c1..f46736fbf5f 100644
--- a/gcc/ada/s-taprop-linux.adb
+++ b/gcc/ada/s-taprop-linux.adb
@@ -178,7 +178,7 @@ package body System.Task_Primitives.Operations is
-- cases (e.g. shutdown of the Server_Task in System.Interrupts) we
-- need to send the Abort signal to a task.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/s-taprop-posix.adb b/gcc/ada/s-taprop-posix.adb
index 705e8a51434..2372d3d9b29 100644
--- a/gcc/ada/s-taprop-posix.adb
+++ b/gcc/ada/s-taprop-posix.adb
@@ -203,7 +203,7 @@ package body System.Task_Primitives.Operations is
-- cases (e.g. shutdown of the Server_Task in System.Interrupts) we
-- need to send the Abort signal to a task.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/s-taprop-solaris.adb b/gcc/ada/s-taprop-solaris.adb
index a48622d0345..042a9312326 100644
--- a/gcc/ada/s-taprop-solaris.adb
+++ b/gcc/ada/s-taprop-solaris.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
-- --
-- GNARL is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -265,7 +265,7 @@ package body System.Task_Primitives.Operations is
-- cases (e.g. shutdown of the Server_Task in System.Interrupts) we
-- need to send the Abort signal to a task.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/s-taprop-tru64.adb b/gcc/ada/s-taprop-tru64.adb
index cd6daca128f..6c2c527fe11 100644
--- a/gcc/ada/s-taprop-tru64.adb
+++ b/gcc/ada/s-taprop-tru64.adb
@@ -167,7 +167,7 @@ package body System.Task_Primitives.Operations is
-- cases (e.g. shutdown of the Server_Task in System.Interrupts) we
-- need to send the Abort signal to a task.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/s-taprop-vxworks.adb b/gcc/ada/s-taprop-vxworks.adb
index e1f3986e2a5..0214efb63cc 100644
--- a/gcc/ada/s-taprop-vxworks.adb
+++ b/gcc/ada/s-taprop-vxworks.adb
@@ -188,7 +188,7 @@ package body System.Task_Primitives.Operations is
-- It is not safe to raise an exception when using ZCX and the GCC
-- exception handling mechanism.
- if ZCX_By_Default and then GCC_ZCX_Support then
+ if ZCX_By_Default then
return;
end if;
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 9e10682bb24..446a1d6134b 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -343,9 +343,10 @@ package body Sem_Ch12 is
-- Creates a new private type, which does not require completion
procedure Analyze_Formal_Incomplete_Type (T : Entity_Id; Def : Node_Id);
- -- Ada2012 : Creates a new incomplete type, whose actual does not freeze.
+ -- Ada2012: Creates a new incomplete type whose actual does not freeze
procedure Analyze_Generic_Formal_Part (N : Node_Id);
+ -- Analyze generic formal part
procedure Analyze_Generic_Access_Type (T : Entity_Id; Def : Node_Id);
-- Create a new access type with the given designated type
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index 13e4a6ac051..2c2d4c997fc 100644
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -2340,16 +2340,15 @@ package body Sem_Ch6 is
-- In general, the spec will be frozen when we start analyzing the
-- body. However, for internally generated operations, such as
-- wrapper functions for inherited operations with controlling
- -- results, the spec may not have been frozen by the time we
- -- expand the freeze actions that include the bodies. In particular,
- -- extra formals for accessibility or for return-in-place may need
- -- to be generated. Freeze nodes, if any, are inserted before the
- -- current body. These freeze actions are also needed in ASIS mode
- -- to enable the proper back-annotations.
+ -- results, the spec may not have been frozen by the time we expand
+ -- the freeze actions that include the bodies. In particular, extra
+ -- formals for accessibility or for return-in-place may need to be
+ -- generated. Freeze nodes, if any, are inserted before the current
+ -- body. These freeze actions are also needed in ASIS mode to enable
+ -- the proper back-annotations.
if not Is_Frozen (Spec_Id)
- and then
- (Expander_Active or else ASIS_Mode)
+ and then (Expander_Active or ASIS_Mode)
then
-- Force the generation of its freezing node to ensure proper
-- management of access types in the backend.
@@ -6082,13 +6081,14 @@ package body Sem_Ch6 is
end if;
-- In the case of functions whose result type needs finalization,
- -- add an extra formal which represents the finalization master.
+ -- add an extra formal of type Ada.Finalization.Heap_Management.
+ -- Finalization_Collection_Ptr.
- if Needs_BIP_Finalization_Master (E) then
+ if Needs_BIP_Collection (E) then
Discard :=
Add_Extra_Formal
- (E, RTE (RE_Finalization_Master_Ptr),
- E, BIP_Formal_Suffix (BIP_Finalization_Master));
+ (E, RTE (RE_Finalization_Collection_Ptr),
+ E, BIP_Formal_Suffix (BIP_Collection));
end if;
-- If the result type contains tasks, we have two extra formals:
diff --git a/gcc/ada/sem_type.adb b/gcc/ada/sem_type.adb
index 28b161ce8d5..f035f504651 100644
--- a/gcc/ada/sem_type.adb
+++ b/gcc/ada/sem_type.adb
@@ -569,6 +569,39 @@ package body Sem_Type is
Ent : constant Entity_Id := Entity (N);
H : Entity_Id;
First_Interp : Interp_Index;
+ function Within_Instance (E : Entity_Id) return Boolean;
+ -- Within an instance there can be spurious ambiguities between a local
+ -- entity and one declared outside of the instance. This can only
+ -- happen for subprograms, because otherwise the local entity hides the
+ -- outer one. For overloadable entities, this predicate determines
+ -- whether it is a candidate within the instance, or must be ignored.
+
+ function Within_Instance (E : Entity_Id) return Boolean is
+ Inst : Entity_Id;
+ Scop : Entity_Id;
+ begin
+ if not In_Instance then
+ return False;
+ end if;
+ Inst := Current_Scope;
+ while Present (Inst)
+ and then not Is_Generic_Instance (Inst)
+ loop
+ Inst := Scope (Inst);
+ end loop;
+ Scop := Scope (E);
+
+ while Present (Scop)
+ and then Scop /= Standard_Standard
+ loop
+ if Scop = Inst then
+ return True;
+ end if;
+ Scop := Scope (Scop);
+ end loop;
+
+ return False;
+ end Within_Instance;
begin
New_Interps (N);
@@ -626,9 +659,7 @@ package body Sem_Type is
-- levels within the instance. The renaming of an actual
-- within the instance must not be included.
- if (Scope (H) = Scope (Ent)
- or else Scope (H) = Scope (Scope (Ent)))
- and then In_Instance
+ if Within_Instance (H)
and then H /= Renamed_Entity (Ent)
and then not Is_Inherited_Operation (H)
then
diff --git a/gcc/ada/sinfo.ads b/gcc/ada/sinfo.ads
index 07f532e4bdc..744d7cc7d2e 100644
--- a/gcc/ada/sinfo.ads
+++ b/gcc/ada/sinfo.ads
@@ -6275,12 +6275,11 @@ package Sinfo is
-- Synchronized_Present (Flag7)
-- Interface_List (List2) (set to No_List if none)
- ------------------------------------------------
- -- 12.5.1 Formal Incomplete Type Definition --
- ------------------------------------------------
+ -----------------------------------------------
+ -- 12.5.1 Formal Incomplete Type Definition --
+ -----------------------------------------------
- -- FORMAL_INCOMPLETE_TYPE_DEFINITION ::=
- -- [tagged]
+ -- FORMAL_INCOMPLETE_TYPE_DEFINITION ::= [tagged]
-- N_Formal_Incomplete_Type_Definition
-- Sloc points to identifier of parent
diff --git a/gcc/ada/system-aix.ads b/gcc/ada/system-aix.ads
index 345e2b0c2b1..3f91af51ecc 100644
--- a/gcc/ada/system-aix.ads
+++ b/gcc/ada/system-aix.ads
@@ -149,6 +149,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-aix64.ads b/gcc/ada/system-aix64.ads
index 480418a81ca..4ad3756042b 100644
--- a/gcc/ada/system-aix64.ads
+++ b/gcc/ada/system-aix64.ads
@@ -149,6 +149,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-darwin-ppc.ads b/gcc/ada/system-darwin-ppc.ads
index 295080a7b11..79894e5c360 100644
--- a/gcc/ada/system-darwin-ppc.ads
+++ b/gcc/ada/system-darwin-ppc.ads
@@ -165,6 +165,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-darwin-x86.ads b/gcc/ada/system-darwin-x86.ads
index 781d5073ef9..efd93f63c20 100644
--- a/gcc/ada/system-darwin-x86.ads
+++ b/gcc/ada/system-darwin-x86.ads
@@ -165,6 +165,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-darwin-x86_64.ads b/gcc/ada/system-darwin-x86_64.ads
index 776dc28293b..27f1241616d 100644
--- a/gcc/ada/system-darwin-x86_64.ads
+++ b/gcc/ada/system-darwin-x86_64.ads
@@ -165,6 +165,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-freebsd-x86.ads b/gcc/ada/system-freebsd-x86.ads
index 47522f76a77..cb03d56d434 100644
--- a/gcc/ada/system-freebsd-x86.ads
+++ b/gcc/ada/system-freebsd-x86.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-hpux-ia64.ads b/gcc/ada/system-hpux-ia64.ads
index ea7faee6997..c9cf952e806 100644
--- a/gcc/ada/system-hpux-ia64.ads
+++ b/gcc/ada/system-hpux-ia64.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-hpux.ads b/gcc/ada/system-hpux.ads
index d9b0af01732..f32ea6f4948 100644
--- a/gcc/ada/system-hpux.ads
+++ b/gcc/ada/system-hpux.ads
@@ -139,7 +139,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
--------------------------
-- Underlying Priorities --
diff --git a/gcc/ada/system-irix-n32.ads b/gcc/ada/system-irix-n32.ads
index f9ff83c0d9e..3dd0810d257 100644
--- a/gcc/ada/system-irix-n32.ads
+++ b/gcc/ada/system-irix-n32.ads
@@ -151,7 +151,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
-- Note: Denorm is False because denormals are not supported on the
-- R10000, and we want the code to be valid for this processor.
diff --git a/gcc/ada/system-irix-o32.ads b/gcc/ada/system-irix-o32.ads
index 2857856465d..91d0afd9a07 100644
--- a/gcc/ada/system-irix-o32.ads
+++ b/gcc/ada/system-irix-o32.ads
@@ -139,7 +139,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
-- Note: Denorm is False because denormals are not supported on the
-- R10000, and we want the code to be valid for this processor.
diff --git a/gcc/ada/system-linux-alpha.ads b/gcc/ada/system-linux-alpha.ads
index 120d98b576e..154c01bf6c5 100644
--- a/gcc/ada/system-linux-alpha.ads
+++ b/gcc/ada/system-linux-alpha.ads
@@ -137,6 +137,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-hppa.ads b/gcc/ada/system-linux-hppa.ads
index 403822d88f9..3b4bb270036 100644
--- a/gcc/ada/system-linux-hppa.ads
+++ b/gcc/ada/system-linux-hppa.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-ia64.ads b/gcc/ada/system-linux-ia64.ads
index c669b0b3306..11be8491d27 100644
--- a/gcc/ada/system-linux-ia64.ads
+++ b/gcc/ada/system-linux-ia64.ads
@@ -147,6 +147,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-ppc.ads b/gcc/ada/system-linux-ppc.ads
index 89ae691b48f..cbd814341ed 100644
--- a/gcc/ada/system-linux-ppc.ads
+++ b/gcc/ada/system-linux-ppc.ads
@@ -147,6 +147,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-s390.ads b/gcc/ada/system-linux-s390.ads
index 16e403e2093..19ad00025ad 100644
--- a/gcc/ada/system-linux-s390.ads
+++ b/gcc/ada/system-linux-s390.ads
@@ -137,6 +137,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-s390x.ads b/gcc/ada/system-linux-s390x.ads
index 57846d71ee8..6ed5749aafd 100644
--- a/gcc/ada/system-linux-s390x.ads
+++ b/gcc/ada/system-linux-s390x.ads
@@ -137,6 +137,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-sh4.ads b/gcc/ada/system-linux-sh4.ads
index 6ca5d35009b..344b7ef541e 100644
--- a/gcc/ada/system-linux-sh4.ads
+++ b/gcc/ada/system-linux-sh4.ads
@@ -147,6 +147,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-sparc.ads b/gcc/ada/system-linux-sparc.ads
index 6009d049ef0..1f4f2207d45 100644
--- a/gcc/ada/system-linux-sparc.ads
+++ b/gcc/ada/system-linux-sparc.ads
@@ -137,6 +137,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-x86.ads b/gcc/ada/system-linux-x86.ads
index e5ea21828df..c0bd494d020 100644
--- a/gcc/ada/system-linux-x86.ads
+++ b/gcc/ada/system-linux-x86.ads
@@ -147,6 +147,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-linux-x86_64.ads b/gcc/ada/system-linux-x86_64.ads
index 58bdfbeb6d6..1fd23fc4a12 100644
--- a/gcc/ada/system-linux-x86_64.ads
+++ b/gcc/ada/system-linux-x86_64.ads
@@ -147,6 +147,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-lynxos-ppc.ads b/gcc/ada/system-lynxos-ppc.ads
index 2f2e8bcca7c..8d718c83fe8 100644
--- a/gcc/ada/system-lynxos-ppc.ads
+++ b/gcc/ada/system-lynxos-ppc.ads
@@ -153,6 +153,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-lynxos-x86.ads b/gcc/ada/system-lynxos-x86.ads
index 7c98c959363..18a4a3606b0 100644
--- a/gcc/ada/system-lynxos-x86.ads
+++ b/gcc/ada/system-lynxos-x86.ads
@@ -153,6 +153,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-mingw-x86_64.ads b/gcc/ada/system-mingw-x86_64.ads
index e3219b1dbba..9464259f68f 100644
--- a/gcc/ada/system-mingw-x86_64.ads
+++ b/gcc/ada/system-mingw-x86_64.ads
@@ -139,7 +139,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
---------------------------
-- Underlying Priorities --
diff --git a/gcc/ada/system-mingw.ads b/gcc/ada/system-mingw.ads
index 9126be3f414..9753650e918 100644
--- a/gcc/ada/system-mingw.ads
+++ b/gcc/ada/system-mingw.ads
@@ -139,7 +139,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
---------------------------
-- Underlying Priorities --
diff --git a/gcc/ada/system-solaris-sparc.ads b/gcc/ada/system-solaris-sparc.ads
index 19885d3b613..1afb18b1f47 100644
--- a/gcc/ada/system-solaris-sparc.ads
+++ b/gcc/ada/system-solaris-sparc.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-solaris-sparcv9.ads b/gcc/ada/system-solaris-sparcv9.ads
index 9fe08c78664..4929c75a1db 100644
--- a/gcc/ada/system-solaris-sparcv9.ads
+++ b/gcc/ada/system-solaris-sparcv9.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-solaris-x86.ads b/gcc/ada/system-solaris-x86.ads
index e26b80da36e..cd722e349fb 100644
--- a/gcc/ada/system-solaris-x86.ads
+++ b/gcc/ada/system-solaris-x86.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-solaris-x86_64.ads b/gcc/ada/system-solaris-x86_64.ads
index e0fb55de314..4f336780791 100644
--- a/gcc/ada/system-solaris-x86_64.ads
+++ b/gcc/ada/system-solaris-x86_64.ads
@@ -139,6 +139,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-tru64.ads b/gcc/ada/system-tru64.ads
index b3426b234dc..43facc7465f 100644
--- a/gcc/ada/system-tru64.ads
+++ b/gcc/ada/system-tru64.ads
@@ -139,7 +139,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
-- Note: Denorm is False because denormals are only handled properly
-- if the -mieee switch is set, and we do not require this usage.
diff --git a/gcc/ada/system-vms-ia64.ads b/gcc/ada/system-vms-ia64.ads
index af03ef5fe66..010de3d13de 100644
--- a/gcc/ada/system-vms-ia64.ads
+++ b/gcc/ada/system-vms-ia64.ads
@@ -157,7 +157,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
--------------------------
-- Underlying Priorities --
diff --git a/gcc/ada/system-vms_64.ads b/gcc/ada/system-vms_64.ads
index cb82fb45728..11f2853ad2d 100644
--- a/gcc/ada/system-vms_64.ads
+++ b/gcc/ada/system-vms_64.ads
@@ -157,7 +157,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := True;
- GCC_ZCX_Support : constant Boolean := True;
--------------------------
-- Underlying Priorities --
diff --git a/gcc/ada/system-vxworks-arm.ads b/gcc/ada/system-vxworks-arm.ads
index 81d049b67b9..484d40d95c7 100644
--- a/gcc/ada/system-vxworks-arm.ads
+++ b/gcc/ada/system-vxworks-arm.ads
@@ -152,6 +152,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-vxworks-m68k.ads b/gcc/ada/system-vxworks-m68k.ads
index 3a3a754efbd..429ca5d5a57 100644
--- a/gcc/ada/system-vxworks-m68k.ads
+++ b/gcc/ada/system-vxworks-m68k.ads
@@ -152,6 +152,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-vxworks-mips.ads b/gcc/ada/system-vxworks-mips.ads
index 2faad37b5bf..3dbb835704d 100644
--- a/gcc/ada/system-vxworks-mips.ads
+++ b/gcc/ada/system-vxworks-mips.ads
@@ -152,6 +152,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-vxworks-ppc.ads b/gcc/ada/system-vxworks-ppc.ads
index 3ed563bcb5a..220d1f82914 100644
--- a/gcc/ada/system-vxworks-ppc.ads
+++ b/gcc/ada/system-vxworks-ppc.ads
@@ -152,6 +152,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := True;
end System;
diff --git a/gcc/ada/system-vxworks-sparcv9.ads b/gcc/ada/system-vxworks-sparcv9.ads
index ee4aa923c8c..856161f1006 100644
--- a/gcc/ada/system-vxworks-sparcv9.ads
+++ b/gcc/ada/system-vxworks-sparcv9.ads
@@ -154,6 +154,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system-vxworks-x86.ads b/gcc/ada/system-vxworks-x86.ads
index dfbf97daf62..14388d87207 100644
--- a/gcc/ada/system-vxworks-x86.ads
+++ b/gcc/ada/system-vxworks-x86.ads
@@ -152,6 +152,5 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := True;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/system.ads b/gcc/ada/system.ads
index 437afbc9a59..d38a53337ae 100644
--- a/gcc/ada/system.ads
+++ b/gcc/ada/system.ads
@@ -162,7 +162,6 @@ private
Suppress_Standard_Library : constant Boolean := False;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
- GCC_ZCX_Support : constant Boolean := False;
-- Obsolete entries, to be removed eventually (bootstrap issues!)
@@ -171,5 +170,6 @@ private
Long_Shifts_Inlined : constant Boolean := True;
Functions_Return_By_DSP : constant Boolean := False;
Support_64_Bit_Divides : constant Boolean := True;
+ GCC_ZCX_Support : constant Boolean := False;
end System;
diff --git a/gcc/ada/targparm.adb b/gcc/ada/targparm.adb
index 9509ee3e549..7868446e862 100644
--- a/gcc/ada/targparm.adb
+++ b/gcc/ada/targparm.adb
@@ -66,8 +66,7 @@ package body Targparm is
SSL, -- Suppress_Standard_Library
UAM, -- Use_Ada_Main_Program_Name
VMS, -- OpenVMS
- ZCD, -- ZCX_By_Default
- ZCG); -- GCC_ZCX_Support
+ ZCD); -- ZCX_By_Default
Targparm_Flags : array (Targparm_Tags) of Boolean := (others => False);
-- Flag is set True if corresponding parameter is scanned
@@ -103,7 +102,6 @@ package body Targparm is
UAM_Str : aliased constant Source_Buffer := "Use_Ada_Main_Program_Name";
VMS_Str : aliased constant Source_Buffer := "OpenVMS";
ZCD_Str : aliased constant Source_Buffer := "ZCX_By_Default";
- ZCG_Str : aliased constant Source_Buffer := "GCC_ZCX_Support";
-- The following defines a set of pointers to the above strings,
-- indexed by the tag values.
@@ -138,8 +136,7 @@ package body Targparm is
SSL_Str'Access,
UAM_Str'Access,
VMS_Str'Access,
- ZCD_Str'Access,
- ZCG_Str'Access);
+ ZCD_Str'Access);
-----------------------
-- Local Subprograms --
@@ -588,7 +585,6 @@ package body Targparm is
when UAM => Use_Ada_Main_Program_Name_On_Target := Result;
when VMS => OpenVMS_On_Target := Result;
when ZCD => ZCX_By_Default_On_Target := Result;
- when ZCG => GCC_ZCX_Support_On_Target := Result;
goto Line_Loop_Continue;
end case;
diff --git a/gcc/ada/targparm.ads b/gcc/ada/targparm.ads
index cfcc3712af1..971769b9957 100644
--- a/gcc/ada/targparm.ads
+++ b/gcc/ada/targparm.ads
@@ -308,9 +308,6 @@ package Targparm is
-- front-end setjmp/longjmp approach, and this is the default. If
-- this variable is True, then GCC ZCX is used.
- GCC_ZCX_Support_On_Target : Boolean := False;
- -- Indicates that the target supports GCC Exceptions
-
------------------------------------
-- Run-Time Library Configuration --
------------------------------------