mirror of git://gcc.gnu.org/git/gcc.git
[multiple changes]
2009-04-10 Robert Dewar <dewar@adacore.com> * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower bound tested, since this is now done more generally in Sem_Res. * sem_res.adb (Resolve_Comparison_Op): Add call to Check_Lower_Bound_Tested. (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure (Low_Bound_Tested): New name for Low_Bound_Known flag * exp_ch5.adb: Minor reformatting * exp_ch4.adb: Add comments on copying the Comes_From_Source flag for allocators * sinfo.ads: Add comments on copying the Comes_From_Source flag for allocators * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy Comes_From_Source flag from old allocator to new one. 2009-04-10 Ed Schonberg <schonberg@adacore.com> * sem_ch6.ads: Address missing documentation query 2009-04-10 Vincent Celier <celier@adacore.com> * prj-attr.adb: Add new Linker attributes Max_Command_Line_Length, Response_File_Format and Response_File_Switches. * prj-nmsc.adb (Process_Linker): Process new attributes Max_Command_Line_Length, Response_File_Format and Response_File_Switches. * prj.ads (Response_File_Format): New enumeration type (Project_Configuration): New componants Max_Command_Line_Length, Resp_File_Format and Resp_File_Options. * snames.ads-tmpl: Add new standard names for linking response files for gprbuild: GNU, None, Object_List, Option_List, Max_Command_Line_Length, Response_File_Format and Response_File_Switches. 2009-04-10 Geert Bosch <bosch@adacore.com> * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads, system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads, system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads, system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads, system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads, system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads, system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads, system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads, system-vxworks-arm.ads, system-vxworks-m68k.ads, system-vxworks-mips.ads, system-vxworks-ppc.ads, system-vxworks-sparcv9.ads, system-vxworks-x86.ads (Backend_Overflow_Checks): Set to True. From-SVN: r145924
This commit is contained in:
parent
934a3a2580
commit
fad0600db0
|
@ -1,3 +1,67 @@
|
|||
2009-04-10 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known
|
||||
|
||||
* sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower
|
||||
bound tested, since this is now done more generally in Sem_Res.
|
||||
|
||||
* sem_res.adb (Resolve_Comparison_Op): Add call to
|
||||
Check_Lower_Bound_Tested.
|
||||
(Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested
|
||||
|
||||
* sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure
|
||||
(Low_Bound_Tested): New name for Low_Bound_Known flag
|
||||
|
||||
* exp_ch5.adb: Minor reformatting
|
||||
|
||||
* exp_ch4.adb:
|
||||
Add comments on copying the Comes_From_Source flag for allocators
|
||||
|
||||
* sinfo.ads:
|
||||
Add comments on copying the Comes_From_Source flag for allocators
|
||||
|
||||
* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy
|
||||
Comes_From_Source flag from old allocator to new one.
|
||||
|
||||
2009-04-10 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch6.ads: Address missing documentation query
|
||||
|
||||
2009-04-10 Vincent Celier <celier@adacore.com>
|
||||
|
||||
* prj-attr.adb:
|
||||
Add new Linker attributes Max_Command_Line_Length, Response_File_Format
|
||||
and Response_File_Switches.
|
||||
|
||||
* prj-nmsc.adb (Process_Linker): Process new attributes
|
||||
Max_Command_Line_Length, Response_File_Format and
|
||||
Response_File_Switches.
|
||||
|
||||
* prj.ads (Response_File_Format): New enumeration type
|
||||
(Project_Configuration): New componants Max_Command_Line_Length,
|
||||
Resp_File_Format and Resp_File_Options.
|
||||
|
||||
* snames.ads-tmpl: Add new standard names for linking response files
|
||||
for gprbuild: GNU, None, Object_List, Option_List,
|
||||
Max_Command_Line_Length, Response_File_Format and
|
||||
Response_File_Switches.
|
||||
|
||||
2009-04-10 Geert Bosch <bosch@adacore.com>
|
||||
|
||||
* system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads,
|
||||
system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads,
|
||||
system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads,
|
||||
system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads,
|
||||
system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads,
|
||||
system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads,
|
||||
system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads,
|
||||
system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads,
|
||||
system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads,
|
||||
system-vxworks-arm.ads, system-vxworks-m68k.ads,
|
||||
system-vxworks-mips.ads, system-vxworks-ppc.ads,
|
||||
system-vxworks-sparcv9.ads, system-vxworks-x86.ads
|
||||
(Backend_Overflow_Checks): Set to True.
|
||||
|
||||
2009-04-10 Thomas Quinot <quinot@adacore.com>
|
||||
|
||||
* exp_attr.adb: Minor reformatting
|
||||
|
|
|
@ -460,7 +460,7 @@ package body Einfo is
|
|||
-- Itype_Printed Flag202
|
||||
-- Has_Pragma_Pure Flag203
|
||||
-- Is_Known_Null Flag204
|
||||
-- Low_Bound_Known Flag205
|
||||
-- Low_Bound_Tested Flag205
|
||||
-- Is_Visible_Formal Flag206
|
||||
-- Known_To_Have_Preelab_Init Flag207
|
||||
-- Must_Have_Preelab_Init Flag208
|
||||
|
@ -2160,10 +2160,10 @@ package body Einfo is
|
|||
return Node16 (Id);
|
||||
end Lit_Strings;
|
||||
|
||||
function Low_Bound_Known (Id : E) return B is
|
||||
function Low_Bound_Tested (Id : E) return B is
|
||||
begin
|
||||
return Flag205 (Id);
|
||||
end Low_Bound_Known;
|
||||
end Low_Bound_Tested;
|
||||
|
||||
function Machine_Radix_10 (Id : E) return B is
|
||||
begin
|
||||
|
@ -4627,11 +4627,11 @@ package body Einfo is
|
|||
Set_Node16 (Id, V);
|
||||
end Set_Lit_Strings;
|
||||
|
||||
procedure Set_Low_Bound_Known (Id : E; V : B := True) is
|
||||
procedure Set_Low_Bound_Tested (Id : E; V : B := True) is
|
||||
begin
|
||||
pragma Assert (Is_Formal (Id));
|
||||
Set_Flag205 (Id, V);
|
||||
end Set_Low_Bound_Known;
|
||||
end Set_Low_Bound_Tested;
|
||||
|
||||
procedure Set_Machine_Radix_10 (Id : E; V : B := True) is
|
||||
begin
|
||||
|
@ -6971,7 +6971,7 @@ package body Einfo is
|
|||
W ("Kill_Range_Checks", Flag33 (Id));
|
||||
W ("Kill_Tag_Checks", Flag34 (Id));
|
||||
W ("Known_To_Have_Preelab_Init", Flag207 (Id));
|
||||
W ("Low_Bound_Known", Flag205 (Id));
|
||||
W ("Low_Bound_Tested", Flag205 (Id));
|
||||
W ("Machine_Radix_10", Flag84 (Id));
|
||||
W ("Materialize_Entity", Flag168 (Id));
|
||||
W ("Must_Be_On_Byte_Boundary", Flag183 (Id));
|
||||
|
|
|
@ -2757,15 +2757,13 @@ package Einfo is
|
|||
-- the nature and use of this entity for implementing the Image and
|
||||
-- Value attributes for the enumeration type in question.
|
||||
|
||||
-- Low_Bound_Known (Flag205)
|
||||
-- Low_Bound_Tested (Flag205)
|
||||
-- Present in all entities. Currently this can only be set True for
|
||||
-- formal parameter entries of a standard unconstrained one-dimensional
|
||||
-- array or string type, where the lower bound of the index type is zero
|
||||
-- or one. Indicates that the low bound is known to be equal to the lower
|
||||
-- bound of the index type (e.g. 1 for String, since the index type is
|
||||
-- Positive). This flag can only be set by a pragma Assert which
|
||||
-- specifies this. If this flag is set, warnings about assuming the index
|
||||
-- low bound to be zero or one are suppressed.
|
||||
-- array or string type. Indicates that an explicit test of the low bound
|
||||
-- of the formal appeared in the code, e.g. in a pragma Assert. If this
|
||||
-- flag is set, warnings about assuming the index low bound to be one
|
||||
-- are suppressed.
|
||||
|
||||
-- Machine_Radix_10 (Flag84)
|
||||
-- Present in decimal types and subtypes, set if the Machine_Radix
|
||||
|
@ -4520,7 +4518,7 @@ package Einfo is
|
|||
-- Kill_Elaboration_Checks (Flag32)
|
||||
-- Kill_Range_Checks (Flag33)
|
||||
-- Kill_Tag_Checks (Flag34)
|
||||
-- Low_Bound_Known (Flag205)
|
||||
-- Low_Bound_Tested (Flag205)
|
||||
-- Materialize_Entity (Flag168)
|
||||
-- Needs_Debug_Info (Flag147)
|
||||
-- Never_Set_In_Source (Flag115)
|
||||
|
@ -5008,7 +5006,7 @@ package Einfo is
|
|||
-- Is_Controlling_Formal (Flag97)
|
||||
-- Is_Only_Out_Parameter (Flag226)
|
||||
-- Is_Optional_Parameter (Flag134)
|
||||
-- Low_Bound_Known (Flag205)
|
||||
-- Low_Bound_Tested (Flag205)
|
||||
-- Is_Return_Object (Flag209)
|
||||
-- Parameter_Mode (synth)
|
||||
|
||||
|
@ -5899,7 +5897,7 @@ package Einfo is
|
|||
function Limited_View (Id : E) return E;
|
||||
function Lit_Indexes (Id : E) return E;
|
||||
function Lit_Strings (Id : E) return E;
|
||||
function Low_Bound_Known (Id : E) return B;
|
||||
function Low_Bound_Tested (Id : E) return B;
|
||||
function Machine_Radix_10 (Id : E) return B;
|
||||
function Master_Id (Id : E) return E;
|
||||
function Materialize_Entity (Id : E) return B;
|
||||
|
@ -6450,7 +6448,7 @@ package Einfo is
|
|||
procedure Set_Limited_View (Id : E; V : E);
|
||||
procedure Set_Lit_Indexes (Id : E; V : E);
|
||||
procedure Set_Lit_Strings (Id : E; V : E);
|
||||
procedure Set_Low_Bound_Known (Id : E; V : B := True);
|
||||
procedure Set_Low_Bound_Tested (Id : E; V : B := True);
|
||||
procedure Set_Machine_Radix_10 (Id : E; V : B := True);
|
||||
procedure Set_Master_Id (Id : E; V : E);
|
||||
procedure Set_Materialize_Entity (Id : E; V : B := True);
|
||||
|
@ -7139,7 +7137,7 @@ package Einfo is
|
|||
pragma Inline (Limited_View);
|
||||
pragma Inline (Lit_Indexes);
|
||||
pragma Inline (Lit_Strings);
|
||||
pragma Inline (Low_Bound_Known);
|
||||
pragma Inline (Low_Bound_Tested);
|
||||
pragma Inline (Machine_Radix_10);
|
||||
pragma Inline (Master_Id);
|
||||
pragma Inline (Materialize_Entity);
|
||||
|
@ -7527,7 +7525,7 @@ package Einfo is
|
|||
pragma Inline (Set_Limited_View);
|
||||
pragma Inline (Set_Lit_Indexes);
|
||||
pragma Inline (Set_Lit_Strings);
|
||||
pragma Inline (Set_Low_Bound_Known);
|
||||
pragma Inline (Set_Low_Bound_Tested);
|
||||
pragma Inline (Set_Machine_Radix_10);
|
||||
pragma Inline (Set_Master_Id);
|
||||
pragma Inline (Set_Materialize_Entity);
|
||||
|
|
|
@ -657,6 +657,11 @@ package body Exp_Ch4 is
|
|||
Make_Allocator (Loc,
|
||||
New_Reference_To (Etype (Exp), Loc)));
|
||||
|
||||
-- Copy the Comes_From_Source flag for the allocator we just
|
||||
-- built, since logically this allocator is a replacement of
|
||||
-- the original allocator node. This is for proper handling of
|
||||
-- restriction No_Implicit_Heap_Allocations.
|
||||
|
||||
Set_Comes_From_Source
|
||||
(Expression (Tmp_Node), Comes_From_Source (N));
|
||||
|
||||
|
@ -672,6 +677,7 @@ package body Exp_Ch4 is
|
|||
end if;
|
||||
|
||||
Convert_Aggr_In_Allocator (N, Tmp_Node, Exp);
|
||||
|
||||
else
|
||||
Node := Relocate_Node (N);
|
||||
Set_Analyzed (Node);
|
||||
|
@ -727,6 +733,11 @@ package body Exp_Ch4 is
|
|||
Make_Allocator (Loc,
|
||||
New_Reference_To (Etype (Exp), Loc)));
|
||||
|
||||
-- Copy the Comes_From_Source flag for the allocator we just
|
||||
-- built, since logically this allocator is a replacement of
|
||||
-- the original allocator node. This is for proper handling
|
||||
-- of restriction No_Implicit_Heap_Allocations.
|
||||
|
||||
Set_Comes_From_Source
|
||||
(Expression (Tmp_Node), Comes_From_Source (N));
|
||||
|
||||
|
@ -929,6 +940,11 @@ package body Exp_Ch4 is
|
|||
Expression => Make_Allocator (Loc,
|
||||
New_Reference_To (Etype (Exp), Loc)));
|
||||
|
||||
-- Copy the Comes_From_Source flag for the allocator we just built,
|
||||
-- since logically this allocator is a replacement of the original
|
||||
-- allocator node. This is for proper handling of restriction
|
||||
-- No_Implicit_Heap_Allocations.
|
||||
|
||||
Set_Comes_From_Source
|
||||
(Expression (Tmp_Node), Comes_From_Source (N));
|
||||
|
||||
|
@ -4185,7 +4201,7 @@ package body Exp_Ch4 is
|
|||
Make_Integer_Literal (Loc, Dim)));
|
||||
end Construct_Attribute_Reference;
|
||||
|
||||
-- Start processing for Check_Subscripts
|
||||
-- Start of processing for Check_Subscripts
|
||||
|
||||
begin
|
||||
for J in 1 .. Number_Dimensions (Typ) loop
|
||||
|
@ -7920,6 +7936,72 @@ package body Exp_Ch4 is
|
|||
or else
|
||||
(Is_Fixed_Point_Type (Target_Type) and then Conversion_OK (N)))
|
||||
then
|
||||
-- Handle case in which type conversions from real types to integers
|
||||
-- are truncated instead of rounded. For example, in the .NET target
|
||||
-- the only instructions available for conversion from float types to
|
||||
-- integers truncate the result. That is, the result of Integer (3.9)
|
||||
-- is 3 instead of 4. The frontend expansion done here to handle also
|
||||
-- negative values is the following composition of conditional
|
||||
-- expressions:
|
||||
|
||||
-- (if Abs (Operand - Float(Integer(Operand))) >= 0.5 then
|
||||
-- (if Operand >= 0.0 then
|
||||
-- Integer(Operand) + 1
|
||||
-- else
|
||||
-- Integer(Operand) - 1)
|
||||
-- else
|
||||
-- Integer(Operand))
|
||||
|
||||
if Integer_Truncation_On_Target and then Comes_From_Source (N) then
|
||||
declare
|
||||
Conv_Node : Node_Id;
|
||||
|
||||
begin
|
||||
-- This code is weird, why are we doing all these copy tree
|
||||
-- operations, instead of just capturing Integer(Operand)
|
||||
-- once and then reusing the value instead of forcing this
|
||||
-- conversion to be done four times! ???
|
||||
|
||||
-- There should be no New_Copy_Tree operations in the below
|
||||
-- code at all???
|
||||
|
||||
Conv_Node := New_Copy_Tree (N);
|
||||
Set_Parent (Conv_Node, Parent (N));
|
||||
Set_Comes_From_Source (Conv_Node, False);
|
||||
Analyze_And_Resolve (Conv_Node, Target_Type);
|
||||
|
||||
Rewrite (N,
|
||||
Make_Conditional_Expression (Loc,
|
||||
Expressions => New_List (
|
||||
Make_Op_Ge (Loc,
|
||||
Left_Opnd =>
|
||||
Make_Op_Abs (Loc,
|
||||
Make_Op_Subtract (Loc,
|
||||
New_Copy_Tree (Operand),
|
||||
Make_Type_Conversion (Loc,
|
||||
New_Reference_To (Etype (Operand), Loc),
|
||||
New_Copy_Tree (Conv_Node)))),
|
||||
Right_Opnd => Make_Real_Literal (Loc, Ureal_Half)),
|
||||
|
||||
Make_Conditional_Expression (Loc,
|
||||
Expressions => New_List (
|
||||
Make_Op_Ge (Loc,
|
||||
Left_Opnd => New_Copy_Tree (Operand),
|
||||
Right_Opnd => Make_Real_Literal (Loc, Ureal_0)),
|
||||
Make_Op_Add (Loc,
|
||||
New_Copy_Tree (Conv_Node),
|
||||
Make_Integer_Literal (Loc, 1)),
|
||||
Make_Op_Subtract (Loc,
|
||||
New_Copy_Tree (Conv_Node),
|
||||
Make_Integer_Literal (Loc, 1)))),
|
||||
|
||||
New_Copy_Tree (Conv_Node))));
|
||||
|
||||
Analyze_And_Resolve (N, Target_Type);
|
||||
return;
|
||||
end;
|
||||
end if;
|
||||
|
||||
-- One more check here, gcc is still not able to do conversions of
|
||||
-- this type with proper overflow checking, and so gigi is doing an
|
||||
-- approximation of what is required by doing floating-point compares
|
||||
|
|
|
@ -2825,12 +2825,14 @@ package body Exp_Ch5 is
|
|||
if Is_Class_Wide_Type (Return_Obj_Typ) then
|
||||
Heap_Allocator :=
|
||||
Make_Allocator (Loc,
|
||||
New_Reference_To
|
||||
(Etype (Return_Obj_Expr), Loc));
|
||||
Expression =>
|
||||
New_Reference_To
|
||||
(Etype (Return_Obj_Expr), Loc));
|
||||
else
|
||||
Heap_Allocator :=
|
||||
Make_Allocator (Loc,
|
||||
New_Reference_To (Return_Obj_Typ, Loc));
|
||||
Expression =>
|
||||
New_Reference_To (Return_Obj_Typ, Loc));
|
||||
end if;
|
||||
|
||||
-- If the object requires default initialization then
|
||||
|
|
|
@ -5005,12 +5005,19 @@ package body Exp_Ch6 is
|
|||
-- is handled separately further below.
|
||||
|
||||
New_Allocator :=
|
||||
Make_Allocator (Loc, New_Reference_To (Result_Subt, Loc));
|
||||
|
||||
Set_Storage_Pool (New_Allocator, Storage_Pool (Allocator));
|
||||
Set_Procedure_To_Call (New_Allocator, Procedure_To_Call (Allocator));
|
||||
Make_Allocator (Loc,
|
||||
Expression => New_Reference_To (Result_Subt, Loc));
|
||||
Set_No_Initialization (New_Allocator);
|
||||
|
||||
-- Copy attributes to new allocator. Note that the new allocator
|
||||
-- logically comes from source if the original one did, so copy the
|
||||
-- relevant flag. This ensures proper treatment of the restriction
|
||||
-- No_Implicit_Heap_Allocations in this case.
|
||||
|
||||
Set_Storage_Pool (New_Allocator, Storage_Pool (Allocator));
|
||||
Set_Procedure_To_Call (New_Allocator, Procedure_To_Call (Allocator));
|
||||
Set_Comes_From_Source (New_Allocator, Comes_From_Source (Allocator));
|
||||
|
||||
Rewrite (Allocator, New_Allocator);
|
||||
|
||||
-- Create a new access object and initialize it to the result of the
|
||||
|
|
|
@ -245,6 +245,12 @@ package body Prj.Attr is
|
|||
"SVlib_dir_switch#" &
|
||||
"SVlib_name_switch#" &
|
||||
|
||||
-- Configuration - Response files
|
||||
|
||||
"SVmax_command_line_length#" &
|
||||
"SVresponse_file_format#" &
|
||||
"LVresponse_file_switches#" &
|
||||
|
||||
-- package Cross_Reference
|
||||
|
||||
"Pcross_reference#" &
|
||||
|
|
|
@ -484,9 +484,9 @@ package body Prj.Nmsc is
|
|||
-- Locate a directory. Name is the directory name. Parent is the root
|
||||
-- directory, if Name a relative path name. Dir is set to the canonical
|
||||
-- case path name of the directory, and Display is the directory path name
|
||||
-- for display purposes. If the directory does not exist and Project_Setup
|
||||
-- for display purposes. If the directory does not exist and Setup_Projects
|
||||
-- is True and Create is a non null string, an attempt is made to create
|
||||
-- the directory. If the directory does not exist and Project_Setup is
|
||||
-- the directory. If the directory does not exist and Setup_Projects is
|
||||
-- false, then Dir and Display are set to No_Name.
|
||||
--
|
||||
-- Current_Dir should represent the current directory, and is passed for
|
||||
|
@ -1839,6 +1839,57 @@ package body Prj.Nmsc is
|
|||
|
||||
elsif Attribute.Name = Name_Map_File_Option then
|
||||
Data.Config.Map_File_Option := Attribute.Value.Value;
|
||||
|
||||
elsif Attribute.Name = Name_Max_Command_Line_Length then
|
||||
begin
|
||||
Data.Config.Max_Command_Line_Length :=
|
||||
Natural'Value (Get_Name_String
|
||||
(Attribute.Value.Value));
|
||||
|
||||
exception
|
||||
when Constraint_Error =>
|
||||
Error_Msg
|
||||
(Project,
|
||||
In_Tree,
|
||||
"value must be positive or equal to 0",
|
||||
Attribute.Value.Location);
|
||||
end;
|
||||
|
||||
elsif Attribute.Name = Name_Response_File_Format then
|
||||
declare
|
||||
Name : Name_Id;
|
||||
|
||||
begin
|
||||
Get_Name_String (Attribute.Value.Value);
|
||||
To_Lower (Name_Buffer (1 .. Name_Len));
|
||||
Name := Name_Find;
|
||||
|
||||
if Name = Name_None then
|
||||
Data.Config.Resp_File_Format := None;
|
||||
|
||||
elsif Name = Name_Gnu then
|
||||
Data.Config.Resp_File_Format := GNU;
|
||||
|
||||
elsif Name = Name_Object_List then
|
||||
Data.Config.Resp_File_Format := Object_List;
|
||||
|
||||
elsif Name = Name_Option_List then
|
||||
Data.Config.Resp_File_Format := Option_List;
|
||||
|
||||
else
|
||||
Error_Msg
|
||||
(Project,
|
||||
In_Tree,
|
||||
"illegal response file format",
|
||||
Attribute.Value.Location);
|
||||
end if;
|
||||
end;
|
||||
|
||||
elsif Attribute.Name = Name_Response_File_Switches then
|
||||
Put (Into_List =>
|
||||
Data.Config.Resp_File_Options,
|
||||
From_List => Attribute.Value.Values,
|
||||
In_Tree => In_Tree);
|
||||
end if;
|
||||
end if;
|
||||
|
||||
|
|
|
@ -979,6 +979,13 @@ package Prj is
|
|||
Table_Increment => 100);
|
||||
-- The table that contains the lists of project files
|
||||
|
||||
type Response_File_Format is
|
||||
(None,
|
||||
GNU,
|
||||
Object_List,
|
||||
Option_List);
|
||||
-- The format of the different response files
|
||||
|
||||
type Project_Configuration is record
|
||||
Run_Path_Option : Name_List_Index := No_Name_List;
|
||||
-- The option to use when linking to specify the path where to look for
|
||||
|
@ -1015,6 +1022,19 @@ package Prj is
|
|||
-- The option to specify the name of a library for linking. Specified in
|
||||
-- the configuration. When not specified, defaults to "-l".
|
||||
|
||||
Max_Command_Line_Length : Natural := 0;
|
||||
-- When positive and when Resp_File_Format (see below) is not None,
|
||||
-- if the command line for the invocation of the linker would be greater
|
||||
-- than this value, a response file is used to invoke the linker.
|
||||
|
||||
Resp_File_Format : Response_File_Format := None;
|
||||
-- The format of a response file, when linking with a response file is
|
||||
-- supported.
|
||||
|
||||
Resp_File_Options : Name_List_Index := No_Name_List;
|
||||
-- The switches, if any, that precede the path name of the response
|
||||
-- file in the invocation of the linker.
|
||||
|
||||
-- Libraries
|
||||
|
||||
Library_Builder : Path_Name_Type := No_Path;
|
||||
|
@ -1085,6 +1105,9 @@ package Prj is
|
|||
Linker_Lib_Dir_Option => No_Name,
|
||||
Linker_Lib_Name_Option => No_Name,
|
||||
Library_Builder => No_Path,
|
||||
Max_Command_Line_Length => 0,
|
||||
Resp_File_Format => None,
|
||||
Resp_File_Options => No_Name_List,
|
||||
Lib_Support => None,
|
||||
Archive_Builder => No_Name_List,
|
||||
Archive_Builder_Append_Option => No_Name_List,
|
||||
|
|
|
@ -119,7 +119,9 @@ package Sem_Ch6 is
|
|||
-- are subtype conformant, post error message if not (RM 6.3.1(16)),
|
||||
-- the flag being placed on the Err_Loc node if it is specified, and
|
||||
-- on the appropriate component of the New_Id construct if not.
|
||||
-- What is the semantics of Skip_Controlling_Formals???
|
||||
-- Skip_Controlling_Formals is True when checking the conformance of
|
||||
-- a subprogram that implements an interface operation. In that case,
|
||||
-- only the non-controlling formals can (and must) be examined.
|
||||
|
||||
procedure Check_Type_Conformant
|
||||
(New_Id : Entity_Id;
|
||||
|
|
|
@ -5733,25 +5733,6 @@ package body Sem_Prag is
|
|||
else
|
||||
Analyze_And_Resolve (Expr, Any_Boolean);
|
||||
end if;
|
||||
|
||||
-- If assertion is of the form (X'First = literal), where X is
|
||||
-- a formal, then set Low_Bound_Known flag on this formal.
|
||||
|
||||
if Nkind (Expr) = N_Op_Eq then
|
||||
declare
|
||||
Right : constant Node_Id := Right_Opnd (Expr);
|
||||
Left : constant Node_Id := Left_Opnd (Expr);
|
||||
begin
|
||||
if Nkind (Left) = N_Attribute_Reference
|
||||
and then Attribute_Name (Left) = Name_First
|
||||
and then Is_Entity_Name (Prefix (Left))
|
||||
and then Is_Formal (Entity (Prefix (Left)))
|
||||
and then Nkind (Right) = N_Integer_Literal
|
||||
then
|
||||
Set_Low_Bound_Known (Entity (Prefix (Left)));
|
||||
end if;
|
||||
end;
|
||||
end if;
|
||||
end Check;
|
||||
|
||||
----------------
|
||||
|
@ -9608,10 +9589,10 @@ package body Sem_Prag is
|
|||
|
||||
Check_Precondition_Postcondition (In_Body);
|
||||
|
||||
-- If in spec, nothing to do. If in body, then we convert the
|
||||
-- pragma to pragma Check (Precondition, cond [, msg]). Note we
|
||||
-- do this whether or not precondition checks are enabled. That
|
||||
-- works fine since pragma Check will do this check.
|
||||
-- If in spec, nothing more to do. If in body, then we convert the
|
||||
-- pragma to pragma Check (Precondition, cond [, msg]). Note we do
|
||||
-- this whether or not precondition checks are enabled. That works
|
||||
-- fine since pragma Check will do this check.
|
||||
|
||||
if In_Body then
|
||||
if Arg_Count = 2 then
|
||||
|
|
|
@ -5393,6 +5393,7 @@ package body Sem_Res is
|
|||
Check_Unset_Reference (L);
|
||||
Check_Unset_Reference (R);
|
||||
Generate_Operator_Reference (N, T);
|
||||
Check_Low_Bound_Tested (N);
|
||||
Eval_Relational_Op (N);
|
||||
end if;
|
||||
end if;
|
||||
|
@ -6135,6 +6136,7 @@ package body Sem_Res is
|
|||
Check_Unset_Reference (L);
|
||||
Check_Unset_Reference (R);
|
||||
Generate_Operator_Reference (N, T);
|
||||
Check_Low_Bound_Tested (N);
|
||||
|
||||
-- If this is an inequality, it may be the implicit inequality
|
||||
-- created for a user-defined operation, in which case the corres-
|
||||
|
|
|
@ -604,6 +604,29 @@ package body Sem_Warn is
|
|||
end if;
|
||||
end Check_Infinite_Loop_Warning;
|
||||
|
||||
----------------------------
|
||||
-- Check_Low_Bound_Tested --
|
||||
----------------------------
|
||||
|
||||
procedure Check_Low_Bound_Tested (Expr : Node_Id) is
|
||||
begin
|
||||
if Comes_From_Source (Expr) then
|
||||
declare
|
||||
L : constant Node_Id := Left_Opnd (Expr);
|
||||
R : constant Node_Id := Right_Opnd (Expr);
|
||||
begin
|
||||
if Nkind (L) = N_Attribute_Reference
|
||||
and then Attribute_Name (L) = Name_First
|
||||
and then Is_Entity_Name (Prefix (L))
|
||||
and then Is_Formal (Entity (Prefix (L)))
|
||||
and then Nkind (R) = N_Integer_Literal
|
||||
then
|
||||
Set_Low_Bound_Tested (Entity (Prefix (L)));
|
||||
end if;
|
||||
end;
|
||||
end if;
|
||||
end Check_Low_Bound_Tested;
|
||||
|
||||
----------------------
|
||||
-- Check_References --
|
||||
----------------------
|
||||
|
@ -3633,7 +3656,7 @@ package body Sem_Warn is
|
|||
|
||||
if Is_Formal (Ent)
|
||||
and then Is_Suspicious_Type (Typ)
|
||||
and then not Low_Bound_Known (Ent)
|
||||
and then not Low_Bound_Tested (Ent)
|
||||
then
|
||||
Test_Suspicious_Index;
|
||||
end if;
|
||||
|
|
|
@ -168,6 +168,13 @@ package Sem_Warn is
|
|||
-- N is the node for a loop statement. This procedure checks if a warning
|
||||
-- should be given for a possible infinite loop, and if so issues it.
|
||||
|
||||
procedure Check_Low_Bound_Tested (Expr : Node_Id);
|
||||
-- Expr is the node for a comparison operation. This procedure checks if
|
||||
-- the comparison is a source comparison of P'First with a literal and if
|
||||
-- so, sets the Low_Bound_Tested flag in Expr to suppress warnings about
|
||||
-- improper low bound assumptions (we assume that if the code explicitly
|
||||
-- checks X'First, then it is not operating in blind assumption mode).
|
||||
|
||||
procedure Warn_On_Known_Condition (C : Node_Id);
|
||||
-- C is a node for a boolean expression resulting from a relational
|
||||
-- or membership operation. If the expression has a compile time known
|
||||
|
|
|
@ -3728,6 +3728,13 @@ package Sinfo is
|
|||
-- Is_Dynamic_Coextension (Flag18-Sem)
|
||||
-- plus fields for expression
|
||||
|
||||
-- Note: like all nodes, the N_Allocator has the Comes_From_Source flag.
|
||||
-- This flag has a special function in conjunction with the restriction
|
||||
-- No_Implicit_Heap_Allocations, which will be triggered if this flag
|
||||
-- is not set. This means that if a source allocator is replaced with
|
||||
-- a constructed allocator, the Comes_From_Source flag should be copied
|
||||
-- to the newly created allocator.
|
||||
|
||||
---------------------------------
|
||||
-- 5.1 Sequence Of Statements --
|
||||
---------------------------------
|
||||
|
|
|
@ -1048,6 +1048,7 @@ package Snames is
|
|||
Name_Global_Config_File : constant Name_Id := N + $; -- GPR
|
||||
Name_Gnatls : constant Name_Id := N + $;
|
||||
Name_Gnatstub : constant Name_Id := N + $;
|
||||
Name_Gnu : constant Name_Id := N + $;
|
||||
Name_Ide : constant Name_Id := N + $;
|
||||
Name_Implementation : constant Name_Id := N + $;
|
||||
Name_Implementation_Exceptions : constant Name_Id := N + $;
|
||||
|
@ -1088,19 +1089,25 @@ package Snames is
|
|||
Name_Mapping_File_Switches : constant Name_Id := N + $;
|
||||
Name_Mapping_Spec_Suffix : constant Name_Id := N + $;
|
||||
Name_Mapping_Body_Suffix : constant Name_Id := N + $;
|
||||
Name_Max_Command_Line_Length : constant Name_Id := N + $;
|
||||
Name_Metrics : constant Name_Id := N + $;
|
||||
Name_Naming : constant Name_Id := N + $;
|
||||
Name_None : constant Name_Id := N + $;
|
||||
Name_Object_Generated : constant Name_Id := N + $;
|
||||
Name_Object_List : constant Name_Id := N + $;
|
||||
Name_Objects_Linked : constant Name_Id := N + $;
|
||||
Name_Objects_Path : constant Name_Id := N + $;
|
||||
Name_Objects_Path_File : constant Name_Id := N + $;
|
||||
Name_Object_Dir : constant Name_Id := N + $;
|
||||
Name_Option_List : constant Name_Id := N + $;
|
||||
Name_Path_Syntax : constant Name_Id := N + $;
|
||||
Name_Pic_Option : constant Name_Id := N + $;
|
||||
Name_Pretty_Printer : constant Name_Id := N + $;
|
||||
Name_Prefix : constant Name_Id := N + $;
|
||||
Name_Project : constant Name_Id := N + $;
|
||||
Name_Project_Dir : constant Name_Id := N + $;
|
||||
Name_Response_File_Format : constant Name_Id := N + $;
|
||||
Name_Response_File_Switches : constant Name_Id := N + $;
|
||||
Name_Roots : constant Name_Id := N + $; -- GPR
|
||||
Name_Required_Switches : constant Name_Id := N + $;
|
||||
Name_Run_Path_Option : constant Name_Id := N + $;
|
||||
|
|
|
@ -126,7 +126,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -142,7 +142,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -142,7 +142,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -128,7 +128,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -115,7 +115,7 @@ private
|
|||
|
||||
AAMP : constant Boolean := False;
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Compiler_System_Version : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -124,7 +124,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -124,7 +124,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -115,7 +115,7 @@ private
|
|||
|
||||
AAMP : constant Boolean := False;
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Compiler_System_Version : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
|
|
|
@ -115,7 +115,7 @@ private
|
|||
|
||||
AAMP : constant Boolean := False;
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Compiler_System_Version : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
|
|
|
@ -124,7 +124,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -115,7 +115,7 @@ private
|
|||
|
||||
AAMP : constant Boolean := False;
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Compiler_System_Version : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
|
|
|
@ -124,7 +124,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -124,7 +124,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -133,7 +133,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -116,7 +116,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -133,7 +133,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -129,7 +129,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -129,7 +129,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -129,7 +129,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := False;
|
||||
|
|
|
@ -129,7 +129,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -131,7 +131,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
|
@ -129,7 +129,7 @@ private
|
|||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := True;
|
||||
Command_Line_Args : constant Boolean := False;
|
||||
Configurable_Run_Time : constant Boolean := False;
|
||||
Denorm : constant Boolean := True;
|
||||
|
|
Loading…
Reference in New Issue