diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-27 12:45:13 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-27 12:45:13 +0000 |
commit | 268b9e9e95f56a59a8817b28ad59b53f40fc668d (patch) | |
tree | 5e9529982daf11d5b3ab800d4c58bc3fbee99d28 /gcc/ada/opt.ads | |
parent | e1910362719612f58bd1ea5050fa7a5175036abc (diff) | |
download | gcc-268b9e9e95f56a59a8817b28ad59b53f40fc668d.tar.gz |
2009-04-27 Basile Starynkevitch <basile@starynkevitch.net>
MERGED WITH TRUNK r146824::
* gcc/basilys.h: all GTY goes before the identifiers.
* gcc/basilys.c: removed errors.h include.
* gcc/run-basilys.h: ditto.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@146839 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/opt.ads')
-rw-r--r-- | gcc/ada/opt.ads | 94 |
1 files changed, 65 insertions, 29 deletions
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index 12b6acefe77..229babfff00 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -6,25 +6,23 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2008, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-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, 51 Franklin Street, Fifth Floor, -- --- Boston, MA 02110-1301, USA. -- +-- or FITNESS FOR A PARTICULAR PURPOSE. -- -- -- --- 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. -- +-- 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. -- +-- -- +-- 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 -- +-- <http://www.gnu.org/licenses/>. -- -- -- -- GNAT was originally developed by the GNAT team at New York University. -- -- Extensive contributions were provided by Ada Core Technologies Inc. -- @@ -158,14 +156,14 @@ package Opt is -- GNAT -- Enable assertions made using pragma Assert - Assume_No_Invalid_Values : Boolean := True; - -- ??? true for now, enable by setting to false later + Assume_No_Invalid_Values : Boolean := False; -- GNAT -- Normally, in accordance with (RM 13.9.1 (9-11)) the front end assumes -- that values could have invalid representations, unless it can clearly -- prove that the values are valid. If this switch is set (by -gnatB or by -- pragma Assume_No_Invalid_Values (Off)), then the compiler assumes values - -- are valid and in range of their representations. + -- are valid and in range of their representations. This feature is now + -- fully enabled in the compiler. Back_Annotate_Rep_Info : Boolean := False; -- GNAT @@ -417,6 +415,12 @@ package Opt is -- to make a single long message, and then this message is split up into -- multiple lines not exceeding the specified length. Set by -gnatj=nn. + Exception_Handler_Encountered : Boolean := False; + -- GNAT + -- This flag is set true if the parser encounters an exception handler. + -- It is used to set Warn_On_Exception_Propagation True if the restriction + -- No_Exception_Propagation is set. + Exception_Locations_Suppressed : Boolean := False; -- GNAT -- This flag is set True if a Suppress_Exception_Locations configuration @@ -636,9 +640,10 @@ package Opt is Inspector_Mode : Boolean renames Debug.Debug_Flag_Dot_II; -- GNAT -- True if compiling in inspector mode (-gnatd.I switch). - -- Only relevant when VM_Target /= None. The compiler will attempt to - -- generate code even in case of unsupported construct, so that the byte - -- code can be used by static analysis tools. + -- Enable inspector mode, in particular SCIL generation. + -- When VM_Target /= None, the compiler will also attempt to + -- generate code even in case of unsupported construct instead of + -- displaying an error. Invalid_Value_Used : Boolean := False; -- GNAT @@ -806,10 +811,11 @@ package Opt is -- File name of mapping between unit names, file names and path names. -- (given by switch -gnatem) - Maximum_Errors : Int := 9999; + Maximum_Messages : Int := 9999; -- GNAT, GNATBIND - -- Maximum default number of errors before compilation is terminated. - -- Can be overridden using -gnatm (GNAT) or -m (GNATBIND) switch. + -- Maximum default number of errors before compilation is terminated, or in + -- the case of GNAT, maximum number of warnings before further warnings are + -- suppressed. Can be overridden by -gnatm (GNAT) or -m (GNATBIND) switch. Maximum_File_Name_Length : Int; -- GNAT, GNATBIND @@ -903,13 +909,20 @@ package Opt is Optimization_Level : Int; pragma Import (C, Optimization_Level, "optimize"); -- Constant reflecting the optimization level (0,1,2,3 for -O0,-O1,-O2,-O3) + -- See jmissing.c and aamissing.c for definitions for dotnet/jgnat and + -- GNAAMP back ends. + + Optimize_Size : Int; + pragma Import (C, Optimize_Size, "optimize_size"); + -- Constant reflecting setting of -Os (optimize for size). Set to nonzero + -- in -Os mode and set to zero otherwise. See jmissing.c and aamissing.c + -- for definitions of "optimize_size" for dotnet/jgnat and GNAAMP backends Output_File_Name_Present : Boolean := False; -- GNATBIND, GNAT, GNATMAKE, GPRMAKE - -- Set to True when the output C file name is given with option -o - -- for GNATBIND, when the object file name is given with option - -- -gnatO for GNAT or when the executable is given with option -o - -- for GNATMAKE or GPRMAKE. + -- Set to True when the output C file name is given with option -o for + -- GNATBIND, when the object file name is given with option -gnatO for GNAT + -- or when the executable is given with option -o for GNATMAKE or GPRMAKE. Output_Linker_Option_List : Boolean := False; -- GNATBIND @@ -1024,6 +1037,10 @@ package Opt is -- option for GNATBIND and to False when using the -static option. The -- value of this flag is set by Gnatbind.Scan_Bind_Arg. + Sprint_Line_Limit : Nat := 72; + -- Limit values for chopping long lines in Sprint output, can be reset + -- by use of NNN parameter with -gnatG or -gnatD switches. + Stack_Checking_Enabled : Boolean; -- GNAT -- Set to indicate if -fstack-check switch is set for the compilation. True @@ -1044,6 +1061,11 @@ package Opt is -- Set by -fno-inline. Suppresses all inlining, both front end and back end -- regardless of any other switches that are set. + Suppress_Control_Flow_Optimizations : Boolean := False; + -- GNAT + -- Set by -fpreserve-control-flow. Suppresses control flow optimizations + -- that interfere with coverage analysis based on the object code. + System_Extend_Pragma_Arg : Node_Id := Empty; -- GNAT -- Set non-empty if and only if a correct Extend_System pragma was present @@ -1144,6 +1166,12 @@ package Opt is -- the other hand, most such blowups will be caught cleanly and simply -- say compilation abandoned. This flag is set to True by -gnatq or -gnatQ. + Unchecked_Shared_Lib_Imports : Boolean := False; + -- GPRBUILD + -- Set to True when shared library projects are allowed to import projects + -- that are not shared library projects. Set by switch + -- --unchecked-shared-lib-imports. + Undefined_Symbols_Are_False : Boolean := False; -- GNAT, GNATPREP -- Set to True by switch -u of gnatprep or -u in the preprocessing data @@ -1306,7 +1334,15 @@ package Opt is -- Set to True to generate warnings for non-local exception raises and also -- handlers that can never handle a local raise. This warning is only ever -- generated if pragma Restrictions (No_Exception_Propagation) is set. The - -- default is not to generate the warnings even if the restriction is set. + -- default is not to generate the warnings except that if the source has + -- at least one exception handler, and this restriction is set, and the + -- warning was not explicitly turned off, then it is turned on by default. + + No_Warn_On_Non_Local_Exception : Boolean := False; + -- GNAT + -- This is set to True if the above warning is explicitly suppressed. We + -- use this to avoid turning it on by default when No_Exception_Propagation + -- restriction is set and an exception handler is present. Warn_On_Obsolescent_Feature : Boolean := False; -- GNAT @@ -1425,8 +1461,8 @@ package Opt is Assume_No_Invalid_Values_Config : Boolean; -- GNAT - -- This is the value of the configuration switch for assuming no invalid - -- values enabled mode mode, as possibly set by the command line switch + -- This is the value of the configuration switch for assuming "no invalid + -- values enabled" mode, as possibly set by the command line switch -- -gnatB, and possibly modified by the use of the configuration pragma -- Assume_No_Invalid_Values. |