diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 16:34:37 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-08-01 16:34:37 +0200 |
commit | 8bef7ba92c0fc93e591042d962518b7d93ef507d (patch) | |
tree | 05c1bea5e0529ce863dbffc73a496d988681f2ec /gcc/ada/opt.ads | |
parent | 316e3a13c6743c8c3181f0bf6df2d7af23edd10a (diff) | |
download | gcc-8bef7ba92c0fc93e591042d962518b7d93ef507d.zip gcc-8bef7ba92c0fc93e591042d962518b7d93ef507d.tar.gz gcc-8bef7ba92c0fc93e591042d962518b7d93ef507d.tar.bz2 |
[multiple changes]
2014-08-01 Robert Dewar <dewar@adacore.com>
* opt.ads (No_Elab_Code_All_Pragma): New global variable.
* sem_ch10.adb (Check_No_Elab_Code_All): New procedure
(Analyze_Compilation_Unit): Call Check_No_Elab_Code_All
(Analyze_Subunit_Context): Call Check_No_Elab_Code_All.
* sem_prag.adb (Analyze_Pragma, case No_Elaboration_Code_All):
Remove code for checking with's, now in sem_ch10.adb, set
Opt.No_Elab_Code_All_Pragma.
2014-08-01 Eric Botcazou <ebotcazou@adacore.com>
* sem_ch3.adb (Copy_And_Build): Copy the declaration for
access types as well and adjust the subtype mark if there are
no constraints.
2014-08-01 Robert Dewar <dewar@adacore.com>
* sem_eval.adb (Test_In_Range): Return Unknown if error posted.
From-SVN: r213478
Diffstat (limited to 'gcc/ada/opt.ads')
-rw-r--r-- | gcc/ada/opt.ads | 76 |
1 files changed, 72 insertions, 4 deletions
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index 611cc17..2e7636d 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -705,10 +705,6 @@ package Opt is -- True if a pragma Discard_Names appeared as a configuration pragma for -- the current compilation unit. - GNAT_Mode : Boolean := False; - -- GNAT - -- True if compiling in GNAT system mode (-gnatg switch) - Identifier_Character_Set : Character; -- GNAT -- This variable indicates the character set to be used for identifiers. @@ -1042,6 +1038,11 @@ package Opt is -- Undefined_Symbols_Are_False. Useful to perform a syntax check on all -- branches of #if constructs. + No_Elab_Code_All_Pragma : Node_Id := Empty; + -- Set to point to a No_Elaboration_Code_All pragma or aspect encountered + -- in the spec of the extended main unit. Used to determine if we need to + -- do special tests for violation of this aspect. + No_Main_Subprogram : Boolean := False; -- GNATMAKE, GNATBIND -- Set to True if compilation/binding of a program without main @@ -2088,6 +2089,70 @@ package Opt is -- appropriately licensed unit to declare this as a Table failed with -- various elaboration circularities. Memory is getting cheap these days! + --------------- + -- GNAT_Mode -- + --------------- + + GNAT_Mode : Boolean := False; + -- GNAT + -- True if compiling in GNAT system mode (-gnatg switch) + + -- Setting this switch has the following effects + + -- The identifier character set is set to 'n' (7-bit ASCII) + + -- Pragma Extend_System is ignored + + -- Warning_Mode is set to Treat_As_Error (-gnatwe) + + -- Standard style checks are set (See Set_GNAT_Style_Check_Options) + + -- Standard warnings are turned on (see Set_GNAT_Mode_Warnings) + + -- The Ada version is set to Ada 2012 + + -- Task priorities are always allowed to be in the range Any_Priority + + -- Overflow checks are suppressed, overflow checking set to strict mode + + -- ALI files are always generated for predefined generic packages + + -- Obsolescent feature warnings are suppressed + + -- Recompilation of children of GNAT, System, Ada, Interfaces is allowed + + -- The Scalar_Storage_Order attribute applies to generic types + + -- Categorization errors are treated as warnings rather than errors + + -- Statements in preelaborated units give warnings rather than errors + + -- Private objects are allowed in preelaborated units + + -- Non-static constants in preelaborated units give warnings not errors + + -- The warning about component size being ignored is suppressed + + -- The warning about size clauses being ignored is suppressed + + -- Initializing limited types gives a warning rather than an error + + -- Copying of limited objects is allowed + + -- Returning objects of limited types is allowed + + -- All entities are considered known to Known_But_Invisible + + -- Non-static call in preelaborated unit give a warning, not an error + + -- Warnings on possible elaboration errors are suppressed + + -- Warning about packing being ignored is suppressed + + -- Warnings in internal units are not suppressed (they normally are) + + -- The only special comment sequence allowed is --! + -------------------------- -- Private Declarations -- -------------------------- @@ -2146,4 +2211,7 @@ private -- Indicates which version of gcc is in use (3 = 3.x, 4 = 4.x). Note that -- gcc 2.8.1 (which used to be a value of 2) is no longer supported. + ------------------------- + -- Effect of GNAT_Mode -- + ------------------------- end Opt; |