g-soccon-mingw-64.ads, [...]: New files.
2008-08-04 Vasiliy Fofanov <fofanov@adacore.com> * g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files. * gcc-interface/Makefile.in: Use 64bit-specific system files when compiling for 64bit windows. From-SVN: r138605
This commit is contained in:
parent
b59283f28d
commit
b282ab3735
4 changed files with 473 additions and 4 deletions
|
@ -1,3 +1,44 @@
|
|||
2008-08-04 Ed Schonberg <schonberg@adacore.com>
|
||||
|
||||
* sem_ch12.adb: Add comments
|
||||
|
||||
* sem_ch4.adb (Analyze_Allocator): If the designated type is a non-null
|
||||
access type and the allocator is not initialized, warn rather than
|
||||
reporting an error.
|
||||
|
||||
2008-08-04 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* exp_ch4.adb: Minor reformatting
|
||||
|
||||
* exp_dist.adb: Minor reformatting
|
||||
|
||||
* g-comlin.adb: Minor reformatting
|
||||
|
||||
2008-08-04 Gary Dismukes <dismukes@adacore.com>
|
||||
|
||||
* exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
|
||||
target to the type of the aggregate in the case where the target object
|
||||
is class-wide.
|
||||
|
||||
* exp_ch5.adb (Expand_Simple_Function_Return): When the function's
|
||||
result type is class-wide and inherently limited, and the expression
|
||||
has a specific type, create a return object of the specific type, for
|
||||
more efficient handling of returns of build-in-place aggregates (avoids
|
||||
conversions of the class-wide return object to the specific type on
|
||||
component assignments).
|
||||
|
||||
* sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
|
||||
about a type mismatch for a class-wide function with a return object
|
||||
having a specific type when the object declaration doesn't come from
|
||||
source. Such an object can result from the expansion of a simple return.
|
||||
|
||||
2008-08-04 Vasiliy Fofanov <fofanov@adacore.com>
|
||||
|
||||
* g-soccon-mingw-64.ads, system-mingw-x86_64.ads: New files.
|
||||
|
||||
* gcc-interface/Makefile.in: Use 64bit-specific system files when
|
||||
compiling for 64bit windows.
|
||||
|
||||
2008-08-04 Jerome Lambourg <lambourg@adacore.com>
|
||||
|
||||
* g-comlin.adb (Group_Switches): Preserve the switch order when
|
||||
|
|
220
gcc/ada/g-soccon-mingw-64.ads
Normal file
220
gcc/ada/g-soccon-mingw-64.ads
Normal file
|
@ -0,0 +1,220 @@
|
|||
------------------------------------------------------------------------------
|
||||
-- --
|
||||
-- GNAT COMPILER COMPONENTS --
|
||||
-- --
|
||||
-- G N A T . S O C K E T S . C O N S T A N T S --
|
||||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 2000-2008, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT 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- --
|
||||
-- ware Foundation; either version 2, or (at your option) any later ver- --
|
||||
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
||||
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
||||
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
|
||||
-- for more details. You should have received a copy of the GNU General --
|
||||
-- Public License distributed with GNAT; see file COPYING. If not, write --
|
||||
-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
|
||||
-- Boston, MA 02110-1301, USA. --
|
||||
-- --
|
||||
-- As a special exception, if other files instantiate generics from this --
|
||||
-- unit, or you link this unit with other files to produce an executable, --
|
||||
-- this unit does not by itself cause the resulting executable to be --
|
||||
-- covered by the GNU General Public License. This exception does not --
|
||||
-- however invalidate any other reasons why the executable file might be --
|
||||
-- covered by the GNU Public License. --
|
||||
-- --
|
||||
-- GNAT was originally developed by the GNAT team at New York University. --
|
||||
-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
||||
-- --
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- This package provides target dependent definitions of constant for use
|
||||
-- by the GNAT.Sockets package (g-socket.ads). This package should not be
|
||||
-- directly with'ed by an applications program.
|
||||
|
||||
-- This is the version for x86_64-mingw32msv
|
||||
-- This file is generated automatically, do not modify it by hand! Instead,
|
||||
-- make changes to gen-soccon.c and re-run it on each target.
|
||||
|
||||
with Interfaces.C;
|
||||
package GNAT.Sockets.Constants is
|
||||
|
||||
--------------
|
||||
-- Families --
|
||||
--------------
|
||||
|
||||
AF_INET : constant := 2; -- IPv4 address family
|
||||
AF_INET6 : constant := 23; -- IPv6 address family
|
||||
|
||||
-----------
|
||||
-- Modes --
|
||||
-----------
|
||||
|
||||
SOCK_STREAM : constant := 1; -- Stream socket
|
||||
SOCK_DGRAM : constant := 2; -- Datagram socket
|
||||
|
||||
-------------------
|
||||
-- Socket errors --
|
||||
-------------------
|
||||
|
||||
EACCES : constant := 10013; -- Permission denied
|
||||
EADDRINUSE : constant := 10048; -- Address already in use
|
||||
EADDRNOTAVAIL : constant := 10049; -- Cannot assign address
|
||||
EAFNOSUPPORT : constant := 10047; -- Addr family not supported
|
||||
EALREADY : constant := 10037; -- Operation in progress
|
||||
EBADF : constant := 10009; -- Bad file descriptor
|
||||
ECONNABORTED : constant := 10053; -- Connection aborted
|
||||
ECONNREFUSED : constant := 10061; -- Connection refused
|
||||
ECONNRESET : constant := 10054; -- Connection reset by peer
|
||||
EDESTADDRREQ : constant := 10039; -- Destination addr required
|
||||
EFAULT : constant := 10014; -- Bad address
|
||||
EHOSTDOWN : constant := 10064; -- Host is down
|
||||
EHOSTUNREACH : constant := 10065; -- No route to host
|
||||
EINPROGRESS : constant := 10036; -- Operation now in progress
|
||||
EINTR : constant := 10004; -- Interrupted system call
|
||||
EINVAL : constant := 10022; -- Invalid argument
|
||||
EIO : constant := 10101; -- Input output error
|
||||
EISCONN : constant := 10056; -- Socket already connected
|
||||
ELOOP : constant := 10062; -- Too many symbolic links
|
||||
EMFILE : constant := 10024; -- Too many open files
|
||||
EMSGSIZE : constant := 10040; -- Message too long
|
||||
ENAMETOOLONG : constant := 10063; -- Name too long
|
||||
ENETDOWN : constant := 10050; -- Network is down
|
||||
ENETRESET : constant := 10052; -- Disconn. on network reset
|
||||
ENETUNREACH : constant := 10051; -- Network is unreachable
|
||||
ENOBUFS : constant := 10055; -- No buffer space available
|
||||
ENOPROTOOPT : constant := 10042; -- Protocol not available
|
||||
ENOTCONN : constant := 10057; -- Socket not connected
|
||||
ENOTSOCK : constant := 10038; -- Operation on non socket
|
||||
EOPNOTSUPP : constant := 10045; -- Operation not supported
|
||||
EPFNOSUPPORT : constant := 10046; -- Unknown protocol family
|
||||
EPROTONOSUPPORT : constant := 10043; -- Unknown protocol
|
||||
EPROTOTYPE : constant := 10041; -- Unknown protocol type
|
||||
ESHUTDOWN : constant := 10058; -- Cannot send once shutdown
|
||||
ESOCKTNOSUPPORT : constant := 10044; -- Socket type not supported
|
||||
ETIMEDOUT : constant := 10060; -- Connection timed out
|
||||
ETOOMANYREFS : constant := 10059; -- Too many references
|
||||
EWOULDBLOCK : constant := 10035; -- Operation would block
|
||||
|
||||
-----------------
|
||||
-- Host errors --
|
||||
-----------------
|
||||
|
||||
HOST_NOT_FOUND : constant := 11001; -- Unknown host
|
||||
TRY_AGAIN : constant := 11002; -- Host name lookup failure
|
||||
NO_DATA : constant := 11004; -- No data record for name
|
||||
NO_RECOVERY : constant := 11003; -- Non recoverable errors
|
||||
|
||||
-------------------
|
||||
-- Control flags --
|
||||
-------------------
|
||||
|
||||
FIONBIO : constant := -2147195266; -- Set/clear non-blocking io
|
||||
FIONREAD : constant := 1074030207; -- How many bytes to read
|
||||
|
||||
--------------------
|
||||
-- Shutdown modes --
|
||||
--------------------
|
||||
|
||||
SHUT_RD : constant := 0; -- No more recv
|
||||
SHUT_WR : constant := 1; -- No more send
|
||||
SHUT_RDWR : constant := 2; -- No more recv/send
|
||||
|
||||
---------------------
|
||||
-- Protocol levels --
|
||||
---------------------
|
||||
|
||||
SOL_SOCKET : constant := 65535; -- Options for socket level
|
||||
IPPROTO_IP : constant := 0; -- Dummy protocol for IP
|
||||
IPPROTO_UDP : constant := 17; -- UDP
|
||||
IPPROTO_TCP : constant := 6; -- TCP
|
||||
|
||||
-------------------
|
||||
-- Request flags --
|
||||
-------------------
|
||||
|
||||
MSG_OOB : constant := 1; -- Process out-of-band data
|
||||
MSG_PEEK : constant := 2; -- Peek at incoming data
|
||||
MSG_EOR : constant := -1; -- Send end of record
|
||||
MSG_WAITALL : constant := 8; -- Wait for full reception
|
||||
MSG_NOSIGNAL : constant := -1; -- No SIGPIPE on send
|
||||
MSG_Forced_Flags : constant := 0;
|
||||
-- Flags set on all send(2) calls
|
||||
|
||||
--------------------
|
||||
-- Socket options --
|
||||
--------------------
|
||||
|
||||
TCP_NODELAY : constant := 1; -- Do not coalesce packets
|
||||
SO_REUSEADDR : constant := 4; -- Bind reuse local address
|
||||
SO_REUSEPORT : constant := -1; -- Bind reuse port number
|
||||
SO_KEEPALIVE : constant := 8; -- Enable keep-alive msgs
|
||||
SO_LINGER : constant := 128; -- Defer close to flush data
|
||||
SO_BROADCAST : constant := 32; -- Can send broadcast msgs
|
||||
SO_SNDBUF : constant := 4097; -- Set/get send buffer size
|
||||
SO_RCVBUF : constant := 4098; -- Set/get recv buffer size
|
||||
SO_SNDTIMEO : constant := 4101; -- Emission timeout
|
||||
SO_RCVTIMEO : constant := 4102; -- Reception timeout
|
||||
SO_ERROR : constant := 4103; -- Get/clear error status
|
||||
IP_MULTICAST_IF : constant := 9; -- Set/get mcast interface
|
||||
IP_MULTICAST_TTL : constant := 10; -- Set/get multicast TTL
|
||||
IP_MULTICAST_LOOP : constant := 11; -- Set/get mcast loopback
|
||||
IP_ADD_MEMBERSHIP : constant := 12; -- Join a multicast group
|
||||
IP_DROP_MEMBERSHIP : constant := 13; -- Leave a multicast group
|
||||
IP_PKTINFO : constant := 19; -- Get datagram info
|
||||
|
||||
-------------------
|
||||
-- System limits --
|
||||
-------------------
|
||||
|
||||
IOV_MAX : constant := 2147483647; -- Maximum writev iovcnt
|
||||
|
||||
----------------------
|
||||
-- Type definitions --
|
||||
----------------------
|
||||
|
||||
-- Sizes (in bytes) of the components of struct timeval
|
||||
|
||||
SIZEOF_tv_sec : constant := 4; -- tv_sec
|
||||
SIZEOF_tv_usec : constant := 4; -- tv_usec
|
||||
|
||||
-- Sizes of protocol specific address types (for sockaddr.sa_len)
|
||||
|
||||
SIZEOF_sockaddr_in : constant := 16; -- struct sockaddr_in
|
||||
SIZEOF_sockaddr_in6 : constant := 28; -- struct sockaddr_in6
|
||||
|
||||
-- Size of file descriptor sets
|
||||
|
||||
SIZEOF_fd_set : constant := 8200; -- fd_set
|
||||
|
||||
-- Fields of struct hostent
|
||||
|
||||
subtype H_Addrtype_T is Interfaces.C.short;
|
||||
subtype H_Length_T is Interfaces.C.short;
|
||||
|
||||
----------------------------------------
|
||||
-- Properties of supported interfaces --
|
||||
----------------------------------------
|
||||
|
||||
Need_Netdb_Buffer : constant := 0; -- Need buffer for Netdb ops
|
||||
Has_Sockaddr_Len : constant := 0; -- Sockaddr has sa_len field
|
||||
|
||||
Thread_Blocking_IO : constant Boolean := True;
|
||||
-- Set False for contexts where socket i/o are process blocking
|
||||
|
||||
------------------------------
|
||||
-- MinGW-specific constants --
|
||||
------------------------------
|
||||
|
||||
-- These constants may be used only within the MinGW version of
|
||||
-- GNAT.Sockets.Thin.
|
||||
|
||||
WSASYSNOTREADY : constant := 10091; -- System not ready
|
||||
WSAVERNOTSUPPORTED : constant := 10092; -- Version not supported
|
||||
WSANOTINITIALISED : constant := 10093; -- Winsock not initialized
|
||||
WSAEDISCON : constant := 10101; -- Disconnected
|
||||
|
||||
end GNAT.Sockets.Constants;
|
|
@ -1318,11 +1318,11 @@ ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),)
|
|||
g-socthi.ads<g-socthi-mingw.ads \
|
||||
g-socthi.adb<g-socthi-mingw.adb \
|
||||
g-stsifd.adb<g-stsifd-sockets.adb \
|
||||
g-soccon.ads<g-soccon-mingw.ads \
|
||||
g-soliop.ads<g-soliop-mingw.ads
|
||||
|
||||
ifeq ($(strip $(filter-out rtx_w32 rtx_rtss,$(THREAD_KIND))),)
|
||||
LIBGNAT_TARGET_PAIRS += \
|
||||
g-soccon.ads<g-soccon-mingw.ads \
|
||||
s-intman.adb<s-intman-dummy.adb \
|
||||
s-osinte.ads<s-osinte-rtx.ads \
|
||||
s-osprim.adb<s-osprim-rtx.adb \
|
||||
|
@ -1352,10 +1352,19 @@ ifeq ($(strip $(filter-out cygwin32% mingw32% pe,$(osys))),)
|
|||
s-intman.adb<s-intman-mingw.adb \
|
||||
s-osinte.ads<s-osinte-mingw.ads \
|
||||
s-osprim.adb<s-osprim-mingw.adb \
|
||||
s-taprop.adb<s-taprop-mingw.adb \
|
||||
system.ads<system-mingw.ads
|
||||
s-taprop.adb<s-taprop-mingw.adb
|
||||
|
||||
EXTRA_GNATRTL_NONTASKING_OBJS = s-win32.o s-winext.o g-regist.o
|
||||
ifeq ($(strip $(filter-out x86_64%,$(arch))),)
|
||||
LIBGNAT_TARGET_PAIRS += \
|
||||
g-soccon.ads<g-soccon-mingw-64.ads \
|
||||
system.ads<system-mingw-x86_64.ads
|
||||
else
|
||||
LIBGNAT_TARGET_PAIRS += \
|
||||
g-soccon.ads<g-soccon-mingw.ads \
|
||||
system.ads<system-mingw.ads
|
||||
endif
|
||||
|
||||
EXTRA_GNATRTL_NONTASKING_OBJS = s-win32.o s-win32.o g-regist.o
|
||||
EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o
|
||||
|
||||
MISCLIB = -lwsock32
|
||||
|
|
199
gcc/ada/system-mingw-x86_64.ads
Normal file
199
gcc/ada/system-mingw-x86_64.ads
Normal file
|
@ -0,0 +1,199 @@
|
|||
------------------------------------------------------------------------------
|
||||
-- --
|
||||
-- GNAT RUN-TIME COMPONENTS --
|
||||
-- --
|
||||
-- S Y S T E M --
|
||||
-- --
|
||||
-- S p e c --
|
||||
-- (Windows Version) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2008, 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 --
|
||||
-- apply solely to the contents of the part following the private keyword. --
|
||||
-- --
|
||||
-- GNAT 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- --
|
||||
-- ware Foundation; either version 2, or (at your option) any later ver- --
|
||||
-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
|
||||
-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
|
||||
-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
|
||||
-- for more details. You should have received a copy of the GNU General --
|
||||
-- Public License distributed with GNAT; see file COPYING. If not, write --
|
||||
-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, --
|
||||
-- Boston, MA 02110-1301, USA. --
|
||||
-- --
|
||||
-- As a special exception, if other files instantiate generics from this --
|
||||
-- unit, or you link this unit with other files to produce an executable, --
|
||||
-- this unit does not by itself cause the resulting executable to be --
|
||||
-- covered by the GNU General Public License. This exception does not --
|
||||
-- however invalidate any other reasons why the executable file might be --
|
||||
-- covered by the GNU Public License. --
|
||||
-- --
|
||||
-- GNAT was originally developed by the GNAT team at New York University. --
|
||||
-- Extensive contributions were provided by Ada Core Technologies Inc. --
|
||||
-- --
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
package System is
|
||||
pragma Pure;
|
||||
-- Note that we take advantage of the implementation permission to make
|
||||
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada
|
||||
-- 2005, this is Pure in any case (AI-362).
|
||||
|
||||
type Name is (SYSTEM_NAME_GNAT);
|
||||
System_Name : constant Name := SYSTEM_NAME_GNAT;
|
||||
|
||||
-- System-Dependent Named Numbers
|
||||
|
||||
Min_Int : constant := Long_Long_Integer'First;
|
||||
Max_Int : constant := Long_Long_Integer'Last;
|
||||
|
||||
Max_Binary_Modulus : constant := 2 ** Long_Long_Integer'Size;
|
||||
Max_Nonbinary_Modulus : constant := 2 ** Integer'Size - 1;
|
||||
|
||||
Max_Base_Digits : constant := Long_Long_Float'Digits;
|
||||
Max_Digits : constant := Long_Long_Float'Digits;
|
||||
|
||||
Max_Mantissa : constant := 63;
|
||||
Fine_Delta : constant := 2.0 ** (-Max_Mantissa);
|
||||
|
||||
Tick : constant := 0.01;
|
||||
|
||||
-- Storage-related Declarations
|
||||
|
||||
type Address is private;
|
||||
pragma Preelaborable_Initialization (Address);
|
||||
Null_Address : constant Address;
|
||||
|
||||
Storage_Unit : constant := 8;
|
||||
Word_Size : constant := 64;
|
||||
Memory_Size : constant := 2 ** 64;
|
||||
|
||||
-- Address comparison
|
||||
|
||||
function "<" (Left, Right : Address) return Boolean;
|
||||
function "<=" (Left, Right : Address) return Boolean;
|
||||
function ">" (Left, Right : Address) return Boolean;
|
||||
function ">=" (Left, Right : Address) return Boolean;
|
||||
function "=" (Left, Right : Address) return Boolean;
|
||||
|
||||
pragma Import (Intrinsic, "<");
|
||||
pragma Import (Intrinsic, "<=");
|
||||
pragma Import (Intrinsic, ">");
|
||||
pragma Import (Intrinsic, ">=");
|
||||
pragma Import (Intrinsic, "=");
|
||||
|
||||
-- Other System-Dependent Declarations
|
||||
|
||||
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)
|
||||
|
||||
Max_Priority : constant Positive := 30;
|
||||
Max_Interrupt_Priority : constant Positive := 31;
|
||||
|
||||
subtype Any_Priority is Integer range 0 .. 31;
|
||||
subtype Priority is Any_Priority range 0 .. 30;
|
||||
subtype Interrupt_Priority is Any_Priority range 31 .. 31;
|
||||
|
||||
Default_Priority : constant Priority := 15;
|
||||
|
||||
private
|
||||
|
||||
type Address is mod Memory_Size;
|
||||
Null_Address : constant Address := 0;
|
||||
|
||||
--------------------------------------
|
||||
-- System Implementation Parameters --
|
||||
--------------------------------------
|
||||
|
||||
-- These parameters provide information about the target that is used
|
||||
-- by the compiler. They are in the private part of System, where they
|
||||
-- can be accessed using the special circuitry in the Targparm unit
|
||||
-- whose source should be consulted for more detailed descriptions
|
||||
-- of the individual switch values.
|
||||
|
||||
Backend_Divide_Checks : constant Boolean := False;
|
||||
Backend_Overflow_Checks : constant Boolean := False;
|
||||
Command_Line_Args : constant Boolean := True;
|
||||
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;
|
||||
Machine_Overflows : constant Boolean := False;
|
||||
Machine_Rounds : constant Boolean := True;
|
||||
Preallocated_Stacks : constant Boolean := False;
|
||||
Signed_Zeros : constant Boolean := True;
|
||||
Stack_Check_Default : constant Boolean := False;
|
||||
Stack_Check_Probes : constant Boolean := True;
|
||||
Stack_Check_Limits : constant Boolean := False;
|
||||
Support_64_Bit_Divides : constant Boolean := True;
|
||||
Support_Aggregates : constant Boolean := True;
|
||||
Support_Composite_Assign : constant Boolean := True;
|
||||
Support_Composite_Compare : constant Boolean := True;
|
||||
Support_Long_Shifts : constant Boolean := True;
|
||||
Always_Compatible_Rep : constant Boolean := False;
|
||||
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 --
|
||||
---------------------------
|
||||
|
||||
-- Important note: this section of the file must come AFTER the
|
||||
-- definition of the system implementation parameters to ensure
|
||||
-- that the value of these parameters is available for analysis
|
||||
-- of the declarations here (using Rtsfind at compile time).
|
||||
|
||||
-- The underlying priorities table provides a generalized mechanism
|
||||
-- for mapping from Ada priorities to system priorities. In some
|
||||
-- cases a 1-1 mapping is not the convenient or optimal choice.
|
||||
|
||||
type Priorities_Mapping is array (Any_Priority) of Integer;
|
||||
pragma Suppress_Initialization (Priorities_Mapping);
|
||||
-- Suppress initialization in case gnat.adc specifies Normalize_Scalars
|
||||
|
||||
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 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
|
||||
-- programs. We change this value for GNAT on Windows here because the
|
||||
-- binutils on this platform have switched to a too low value for Ada
|
||||
-- programs. Note that we also set the stack size for tasking programs in
|
||||
-- System.Task_Primitives.Operations.
|
||||
|
||||
end System;
|
Loading…
Add table
Reference in a new issue