+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
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.
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));
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);
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
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)
-- 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
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
@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
@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
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
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
&\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
@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}}
@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,
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;
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);
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
if Token = Tok_Semicolon then
- -- Ada2012 : incomplete formal type
+ -- Ada2012: Incomplete formal type
Scan; -- past semicolon
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
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
begin
Saved_Address := Allocated;
end;
+
Address := Aligned_Address;
+
else
Address := Allocated;
end if;
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
begin
Memory.Free (Saved_Address);
end;
+
else
Memory.Free (Address);
end if;
-- 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;
-- 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;
-- 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;
-- --
-- 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- --
-- 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;
-- 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;
-- 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;
-- 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
-- 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.
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:
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);
-- 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
-- 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
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;
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;
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;
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;
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;
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;
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;
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 --
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.
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.
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
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 --
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 --
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;
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;
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;
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;
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.
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 --
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 --
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;
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;
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;
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;
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;
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;
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!)
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;
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
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.
SSL_Str'Access,
UAM_Str'Access,
VMS_Str'Access,
- ZCD_Str'Access,
- ZCG_Str'Access);
+ ZCD_Str'Access);
-----------------------
-- Local Subprograms --
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;
-- 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 --
------------------------------------