X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2Fs-stalib.adb;h=ffea8d008cdb5fd0b70188534eb8afa8d1709974;hb=20d2f5309ee374943308566fa4f174cd3312853b;hp=71fb5ccffc377cc6214010695a2c62b8b4eb62b2;hpb=c32d045231e086867f117700fbe01dbbbce3ea14;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/s-stalib.adb b/gcc/ada/s-stalib.adb index 71fb5ccffc3..ffea8d008cd 100644 --- a/gcc/ada/s-stalib.adb +++ b/gcc/ada/s-stalib.adb @@ -6,54 +6,58 @@ -- -- -- B o d y -- -- -- --- $Revision: 1.17 $ --- -- --- Copyright (C) 1995-2001 Free Software Foundation, Inc. -- +-- Copyright (C) 1995-2009, 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- -- +-- ware Foundation; either version 3, 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, 59 Temple Place - Suite 330, Boston, -- --- MA 02111-1307, USA. -- +-- or FITNESS FOR A PARTICULAR PURPOSE. -- +-- -- +-- As a special exception under Section 7 of GPL version 3, you are granted -- +-- additional permissions described in the GCC Runtime Library Exception, -- +-- version 3.1, as published by the Free Software Foundation. -- -- -- --- 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. -- +-- You should have received a copy of the GNU General Public License and -- +-- a copy of the GCC Runtime Library Exception along with this program; -- +-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- +-- . -- -- -- -- GNAT was originally developed by the GNAT team at New York University. -- --- It is now maintained by Ada Core Technologies Inc (http://www.gnat.com). -- +-- Extensive contributions were provided by Ada Core Technologies Inc. -- -- -- ------------------------------------------------------------------------------ +pragma Compiler_Unit; + -- The purpose of this body is simply to ensure that the two with'ed units -- are properly included in the link. They are not with'ed from the spec -- of System.Standard_Library, since this would cause order of elaboration -- problems (Elaborate_Body would have the same problem). -pragma Warnings (Off); --- Kill warnings from unused withs - pragma Polling (Off); -- We must turn polling off for this unit, because otherwise we get -- elaboration circularities with Ada.Exceptions if polling is on. +pragma Warnings (Off); +-- Kill warnings from unused withs. These unused with's are here to make +-- sure the relevant units are loaded and properly elaborated. + with System.Soft_Links; --- Referenced directly from generated code --- Also referenced from exception handling routines. --- This is needed for programs that don't use exceptions explicitely but +-- Referenced directly from generated code using external symbols so it +-- must always be present in a build, even if no unit has a direct with +-- of this unit. Also referenced from exception handling routines. +-- This is needed for programs that don't use exceptions explicitly but -- direct calls to Ada.Exceptions are generated by gigi (for example, -- by calling __gnat_raise_constraint_error directly). with System.Memory; --- Referenced directly from generated code +-- Referenced directly from generated code using external symbols, so it +-- must always be present in a build, even if no unit has a direct with +-- of this unit. + +pragma Warnings (On); package body System.Standard_Library is @@ -61,11 +65,6 @@ package body System.Standard_Library is -- Set to True when adafinal is called. Used to ensure that subsequent -- calls to adafinal after the first have no effect. - Inside_Elab_Final_Code : Integer := 0; - pragma Export (C, Inside_Elab_Final_Code, "__gnat_inside_elab_final_code"); - -- ???This variable is obsolete starting from 29/08 but cannot be removed - -- ???right away due to the bootstrap problems - -------------------------- -- Abort_Undefer_Direct -- -------------------------- @@ -87,4 +86,19 @@ package body System.Standard_Library is end if; end Adafinal; + ----------------- + -- Break_Start -- + ----------------- + + procedure Break_Start; + pragma Export (C, Break_Start, "__gnat_break_start"); + -- This is a dummy procedure that is called at the start of execution. + -- Its sole purpose is to provide a well defined point for the placement + -- of a main program breakpoint. + + procedure Break_Start is + begin + null; + end Break_Start; + end System.Standard_Library;