summaryrefslogtreecommitdiff
path: root/gcc/ada/system-darwin-x86.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-14 08:50:51 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-14 08:50:51 +0000
commiteabcce03e86884add44865f4c6b7c4e6868a26d8 (patch)
treebc637fac407ff7e642e0541a6da74fc5d842ee43 /gcc/ada/system-darwin-x86.ads
parentf0d7e5fd956855730d376346c337b1892f646b28 (diff)
downloadgcc-eabcce03e86884add44865f4c6b7c4e6868a26d8.tar.gz
2007-08-14 Geert Bosch <bosch@adacore.com>
* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads, s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads: Add required linker pragmas for automatically linking with the gnalasup linear algebra support library, and the systems math library. Rename cdot to cdotu and zdot to zdotu. Update header comment to describe purpose of package. 2007-08-14 Thomas Quinot <quinot@adacore.com> * exp_ch7.adb (Find_Final_List): For an anonymous access type that has an explicitly specified Associated_Final_Chain, use that list. (Expand_N_Package_Body): Build dispatch tables of library level tagged types. (Expand_N_Package_Declaration): Build dispatch tables of library level tagged types. Minor code cleanup. 2007-08-14 Vincent Celier <celier@adacore.com> * gnatchop.adb (Terminate_Program): Remove exception and use Types.Terminate_Program instead. * osint.ads, osint.adb (Current_Exit_Status): New global variable (Find_Program_Name): Added protection against empty name. (OS_Exit_Through_Exception): New procedure * s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body (OS_Exit_Default): New procedure that contains the previous implementation of procedure OS_Exit. (Final_Value): Remove obsolete Interix stuff. 2007-08-14 Thomas Quinot <quinot@adacore.com> * g-socket.ads: Reorganize example code so that it also works on Windows XP. 2007-08-14 Tristan Gingold <gingold@adacore.com> * g-trasym.ads: AIX now supports symbolic backtraces. 2007-08-14 Ed Schonberg <schonberg@adacore.com> * lib-load.adb (From_Limited_With_Chain): Always scan the stack of units being loaded to detect circularities. A circularity may be present even if the current chain of pending units to load starts from a limited_with_clause. * lib-load.ads: Change profile of Load_Unit to use a with_clause rather than a boolean flag, in order to detect circularities in with_clauses. * par-load.adb: Use current with_clause in calls to Load_Unit, rather than propagating the From_Limited_With flag, in order to handle properly circularities involving with_clauses. 2007-08-14 Nicolas Setton <setton@adacore.com> * link.c (FreeBSD): Add "const" keyword where needed, to eliminate warnings. 2007-08-14 Arnaud Charlet <charlet@adacore.com> * Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects to build for libgnala. libgnat: Add rules to build libgnala.a (LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5. Add s-osinte-vxworks-kernel.adb to the target pairs of the kernel run-time lib for VxWorks 6, which would provide a different implementation for Task_Cont and Task_Stop than the VxWorks 5 version. x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now running ZCX by default. Add g-sttsne-locking to LynxOS version. Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead. On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads. * system-darwin-x86.ads: New file. * Make-lang.in: Delete files before copying onto them, so if they are read-only, the copy won't fail. Update dependencies 2007-08-14 Pascal Obry <obry@adacore.com> * mdll-fil.adb, * mdll.adb: Implement a more consistent libraries naming scheme. 2007-08-14 Vincent Celier <celier@adacore.com> * mlib-utl.adb (Gcc_Name): Change from constant String to String_Access (Gcc): Initialize Gcc_Name at the first call 2007-08-14 Ed Schonberg <schonberg@adacore.com> * sem_ch7.adb (Analyze_Package_Specification): Do not install private with_clauses of the enclosing unit when analyzing the package specification of a nested instance. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed. (Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines. Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the layout of N_Allocator. 2007-08-14 Thomas Quinot <quinot@adacore.com> * rtsfind.adb (Check_RPC): Add PCS version check. * gnatvsn.ads, gnatvsn.adb: Add PCS version. (Gnat_Free_Software): New function. * sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns the PCS_Version value from s-parint, used to check that it is consistent with what exp_dist expects. * s-parint.ads (PCS_Version): New entity for checking consistency between exp_dist and PCS. * gen-soccon.c: (SO_REUSEPORT): New constant. 2007-08-14 Hristian Kirtchev <kirtchev@adacore.com> * a-calfor.adb (Image (Duration; Boolean)): Change type of local variable Sub_Second to Duration in order to accomodate a larger range of arithmetic operations. 2007-08-14 Bob Duff <duff@adacore.com> * g-sttsne-locking.ads: Move comments from spec to body. * g-sttsne-locking.adb: Move comments from spec to body. * g-sttsne-vxworks.ads: Removed. * g-sttsne-vxworks.adb: Removed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127467 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/system-darwin-x86.ads')
-rw-r--r--gcc/ada/system-darwin-x86.ads171
1 files changed, 171 insertions, 0 deletions
diff --git a/gcc/ada/system-darwin-x86.ads b/gcc/ada/system-darwin-x86.ads
new file mode 100644
index 00000000000..a6f6cf1a2bc
--- /dev/null
+++ b/gcc/ada/system-darwin-x86.ads
@@ -0,0 +1,171 @@
+------------------------------------------------------------------------------
+-- --
+-- GNAT RUN-TIME COMPONENTS --
+-- --
+-- S Y S T E M --
+-- --
+-- S p e c --
+-- (Darwin/x86 Version) --
+-- --
+-- 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 --
+-- 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 := Integer'Last;
+
+ 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 := 32;
+ Memory_Size : constant := 2 ** 32;
+
+ -- 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)
+
+ -- The values defined here are derived from the following Darwin
+ -- sources:
+ --
+ -- Libc/pthreads/pthread.c
+ -- pthread_init calls host_info to retrieve the HOST_PRIORITY_INFO.
+ -- This file includes "pthread_internals".
+ -- Libc/pthreads/pthread_internals.h
+ -- This file includes <mach/mach.h>.
+ -- xnu/osfmk/mach/mach.h
+ -- This file includes <mach/mach_types.h>.
+ -- xnu/osfmk/mach/mach_types.h
+ -- This file includes <mach/host_info.h>.
+ -- xnu/osfmk/mach/host_info.h
+ -- This file contains the definition of the host_info_t data structure
+ -- and the function prototype for host_info.
+ -- xnu/osfmk/kern/host.c
+ -- This file defines the function host_info which sets the
+ -- priority_info field of struct host_info_t. This file includes
+ -- <kern/processor.h>.
+ -- xnu/osfmk/kern/processor.h
+ -- This file includes <kern/sched.h>.
+ -- xnu/osfmk/kern/sched.h
+ -- This file defines the values for each level of priority.
+
+ Max_Interrupt_Priority : constant Positive := 63;
+ Max_Priority : constant Positive := Max_Interrupt_Priority - 1;
+
+ subtype Any_Priority is Integer range 0 .. Max_Interrupt_Priority;
+ subtype Priority is Any_Priority range 0 .. Max_Priority;
+ subtype Interrupt_Priority is Any_Priority
+ range Priority'Last + 1 .. Max_Interrupt_Priority;
+
+ Default_Priority : constant Priority :=
+ (Priority'Last - Priority'First) / 2;
+
+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 := 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;
+ 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;