diff options
author | Robert Dewar <dewar@adacore.com> | 2008-03-26 08:36:02 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-03-26 08:36:02 +0100 |
commit | 1b24ada5aba090c1b641353f94cba86730c99105 (patch) | |
tree | 70dbf93da9aba2214e551ac66d758a30077cf351 /gcc/ada/opt.ads | |
parent | 9fbecd1a76ba3508fac12e5795923d6ca9efe309 (diff) | |
download | gcc-1b24ada5aba090c1b641353f94cba86730c99105.zip gcc-1b24ada5aba090c1b641353f94cba86730c99105.tar.gz gcc-1b24ada5aba090c1b641353f94cba86730c99105.tar.bz2 |
ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
2008-03-26 Robert Dewar <dewar@adacore.com>
* ali.ads, ali.adb (Optimize_Alignment_Setting): New field in ALI record
* bcheck.adb (Check_Consistent_Optimize_Alignment): New procedure
* debug.adb: Add debug flags d.r and d.v
Add debug flag .T (Optimize_Alignment (Time))
Add debug flag .S (Optimize_Alignment (Space))
* freeze.adb (Freeze_Record_Type): Set OK_To_Reorder_Components
depending on setting of relevant debug flags.
Replace use of Warnings_Off by Has_Warnings_Off
(Freeze_Entity): In circuit for warning on suspicious convention
actuals, do not give warning if subprogram has same entity as formal
type, or if subprogram does not come from source.
(Freeze_Entity): Don't reset Is_Packed for fully rep speced record
if Optimize_Alignment set to Space.
* frontend.adb: Add call to Sem_Warn.Initialize
Add call to Sem_Warn.Output_Unused_Warnings_Off_Warnings
Reset Optimize_Alignment mode from debug switches .S and .T
* layout.adb (Layout_Composite_Object): Rewritten for
Optimize_Aligment pragma.
* lib-writ.ads, lib-writ.adb: New Ox parameter for Optimize_Alignment
mode.
* opt.ads, opt.adb: (Optimize_Alignment): New global switch
* par-prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (.. instead, adjustments throughout to accomodate
this change. Add entry for pragma Optimize_Alignment
* sem_prag.adb (N_Pragma): Chars field removed, use Chars
(Pragma_Identifier (..
instead, adjustments throughout to accomodate this change.
(Process_Compile_Time_Warning_Or_Error): Use !! for generated msg
(Favor_Top_Level): Use new function Is_Access_Subprogram_Type
Add implementation of pragma Optimize_Alignment
From-SVN: r133549
Diffstat (limited to 'gcc/ada/opt.ads')
-rw-r--r-- | gcc/ada/opt.ads | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index decd1cc..b795a3c 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2007, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-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- -- @@ -858,6 +858,10 @@ package Opt is -- error is detected then this flag is reset from Generate_Code to -- Check_Semantics after generating an error message. + Optimize_Alignment : Character := 'O'; + -- Settinng of Optimize_Alignment, set to T/S/O for time/space/off. Can + -- be modified by use of pragma Optimize_Alignment. + Original_Operating_Mode : Operating_Mode_Type := Generate_Code; -- GNAT -- Indicates the original operating mode of the compiler as set by @@ -1298,6 +1302,12 @@ package Opt is -- which have a record representation clause but this component does not -- have a component clause. The default is that this warning is disabled. + Warn_On_Warnings_Off : Boolean := False; + -- GNAT + -- Set to True to generate warnings for use of Pragma Warnings (Off, ent), + -- where either the pragma is never used, or it could be replaced by a + -- pragma Unmodified or Unreferenced. + type Warning_Mode_Type is (Suppress, Normal, Treat_As_Error); Warning_Mode : Warning_Mode_Type := Normal; -- GNAT, GNATBIND @@ -1338,8 +1348,8 @@ package Opt is -- These are settings that are used to establish the mode at the start of -- each unit. The values defined below can be affected either by command - -- line switches, or by the use of appropriate configuration pragmas in the - -- gnat.adc file. + -- line switches, or by the use of appropriate configuration pragmas in a + -- configuration pragma file. Ada_Version_Config : Ada_Version_Type; -- GNAT @@ -1416,6 +1426,14 @@ package Opt is -- used to set the initial value of Fast_Math at the start of each new -- compilation unit. + Optimize_Alignment_Config : Character; + -- GNAT + -- This is the value of the configuration switch that controls the + -- alignment optimization mode, as set by an Optimize_Alignment pragma. + -- It is used to set the initial value of Optimize_Alignment at the start + -- of each new compilation unit, except that it is always set to 'O' (off) + -- for internal units. + Persistent_BSS_Mode_Config : Boolean; -- GNAT -- This is the value of the configuration switch that controls whether @@ -1553,6 +1571,7 @@ private External_Name_Exp_Casing : External_Casing_Type; External_Name_Imp_Casing : External_Casing_Type; Fast_Math : Boolean; + Optimize_Alignment : Character; Persistent_BSS_Mode : Boolean; Polling_Required : Boolean; Use_VADS_Size : Boolean; |