-- S Y S T E M --
-- --
-- S p e c --
--- (NT Version) --
+-- (Windows Version) --
-- --
--- Copyright (C) 1992-2005 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2007, Free Software Foundation, Inc. --
-- --
-- This specification is derived from the Ada Reference Manual for use with --
-- GNAT. The copyright notice above, and the license provisions that follow --
Max_Int : constant := Long_Long_Integer'Last;
Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
- Max_Nonbinary_Modulus : constant := Integer'Last;
+ Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
Max_Base_Digits : constant := Long_Long_Float'Digits;
Max_Digits : constant := Long_Long_Float'Digits;
-- Storage-related Declarations
type Address is private;
+ pragma Preelaborable_Initialization (Address);
Null_Address : constant Address;
Storage_Unit : constant := 8;
type Bit_Order is (High_Order_First, Low_Order_First);
Default_Bit_Order : constant Bit_Order := Low_Order_First;
+ pragma Warnings (Off, Default_Bit_Order); -- kill constant condition warning
-- Priority-related Declarations (RM D.1)
-- whose source should be consulted for more detailed descriptions
-- of the individual switch values.
- AAMP : constant Boolean := False;
Backend_Divide_Checks : constant Boolean := False;
Backend_Overflow_Checks : constant Boolean := False;
Command_Line_Args : constant Boolean := True;
- Compiler_System_Version : constant Boolean := False;
Configurable_Run_Time : constant Boolean := False;
Denorm : constant Boolean := True;
Duration_32_Bits : constant Boolean := False;
Exit_Status_Supported : constant Boolean := True;
Fractional_Fixed_Ops : constant Boolean := False;
Frontend_Layout : constant Boolean := False;
- Functions_Return_By_DSP : constant Boolean := False;
Machine_Overflows : constant Boolean := False;
Machine_Rounds : constant Boolean := True;
- OpenVMS : constant Boolean := False;
Preallocated_Stacks : constant Boolean := False;
Signed_Zeros : constant Boolean := True;
Stack_Check_Default : constant Boolean := False;
- Stack_Check_Probes : constant Boolean := False;
+ Stack_Check_Probes : constant Boolean := True;
Support_64_Bit_Divides : constant Boolean := True;
Support_Aggregates : constant Boolean := True;
Support_Composite_Assign : constant Boolean := True;
Use_Ada_Main_Program_Name : constant Boolean := False;
ZCX_By_Default : constant Boolean := False;
GCC_ZCX_Support : constant Boolean := True;
- Front_End_ZCX_Support : constant Boolean := False;
-
- -- Obsolete entries, to be removed eventually (bootstrap issues!)
-
- High_Integrity_Mode : constant Boolean := False;
- Long_Shifts_Inlined : constant Boolean := False;
---------------------------
-- Underlying Priorities --
pragma Suppress_Initialization (Priorities_Mapping);
-- Suppress initialization in case gnat.adc specifies Normalize_Scalars
- -- On NT, the default mapping preserves the standard 31 priorities
- -- of the Ada model, but maps them using compression onto the 7
- -- priority levels available in NT.
+ Underlying_Priorities : constant Priorities_Mapping :=
+ (Priority'First ..
+ Default_Priority - 8 => -15,
+ Default_Priority - 7 => -7,
+ Default_Priority - 6 => -6,
+ Default_Priority - 5 => -5,
+ Default_Priority - 4 => -4,
+ Default_Priority - 3 => -3,
+ Default_Priority - 2 => -2,
+ Default_Priority - 1 => -1,
+ Default_Priority => 0,
+ Default_Priority + 1 => 1,
+ Default_Priority + 2 => 2,
+ Default_Priority + 3 => 3,
+ Default_Priority + 4 => 4,
+ Default_Priority + 5 => 5,
+ Default_Priority + 6 ..
+ Priority'Last => 6,
+ Interrupt_Priority => 15);
+ -- The default mapping preserves the standard 31 priorities of the Ada
+ -- model, but maps them using compression onto the 7 priority levels
+ -- available in NT and on the 16 priority levels available in 2000/XP.
-- To replace the default values of the Underlying_Priorities mapping,
-- copy this source file into your build directory, edit the file to
- -- reflect your desired behavior, and recompile with the command:
-
- -- $ gcc -c -O3 -gnatpgn system.ads
-
- -- then recompile the run-time parts that depend on this package:
-
- -- $ gnatmake -a -gnatn -O3 <your application>
-
- -- then force rebuilding your application if you need different options:
-
- -- $ gnatmake -f <your options> <your application>
-
- Underlying_Priorities : constant Priorities_Mapping :=
-
- (Priority'First .. 1 => -15,
-
- 2 .. Default_Priority - 2 => -2,
-
- Default_Priority - 1 => -1,
-
- Default_Priority => 0,
-
- Default_Priority + 1 .. 19 => 1,
-
- 20 .. Priority'Last => 2,
-
- Interrupt_Priority => 15);
+ -- reflect your desired behavior, and recompile using Makefile.adalib
+ -- which can be found under the adalib directory of your gnat installation
pragma Linker_Options ("-Wl,--stack=0x2000000");
-- This is used to change the default stack (32 MB) size for non tasking