diff options
author | Tristan Gingold <gingold@adacore.com> | 2007-10-15 15:54:21 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-10-15 15:54:21 +0200 |
commit | a8ee464537c3a5e4ec0c4e15fed38edb9cd567e6 (patch) | |
tree | 69d0171cdbf05adaa61c531fed58c74eac7c9c66 | |
parent | 250db54966b8b904a54eff9d940cb84f799c5331 (diff) | |
download | gcc-a8ee464537c3a5e4ec0c4e15fed38edb9cd567e6.zip gcc-a8ee464537c3a5e4ec0c4e15fed38edb9cd567e6.tar.gz gcc-a8ee464537c3a5e4ec0c4e15fed38edb9cd567e6.tar.bz2 |
debug.adb: Document use of -gnatd.a and -gnatd.I
2007-10-15 Tristan Gingold <gingold@adacore.com>
* debug.adb: Document use of -gnatd.a and -gnatd.I
* layout.adb: On OpenVMS -gnatd.a disables alignment optimization.
From-SVN: r129321
-rw-r--r-- | gcc/ada/debug.adb | 14 | ||||
-rw-r--r-- | gcc/ada/layout.adb | 14 |
2 files changed, 22 insertions, 6 deletions
diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb index 363cc07..9ea1c3f 100644 --- a/gcc/ada/debug.adb +++ b/gcc/ada/debug.adb @@ -93,7 +93,7 @@ package body Debug is -- dY Enable configurable run-time mode -- dZ Generate listing showing the contents of the dispatch tables - -- d.a + -- d.a Disable OpenVMS alignment optimization on types -- d.b -- d.c -- d.d @@ -128,7 +128,7 @@ package body Debug is -- d.F -- d.G -- d.H - -- d.I + -- d.I Inspector mode -- d.J -- d.K -- d.L @@ -495,6 +495,12 @@ package body Debug is -- - In case of abstract subprograms the text "is abstract" is -- added at the end of the line. + -- d.a Disable OpenVMS alignment optimization on types. On OpenVMS, + -- record types whose size is odd "in between" (e.g. 17 bits) are + -- over-aligned to the next power of 2 (until 8 bytes). This over + -- alignment improve generated code and is more consistent with + -- what Dec Ada does. + -- d.f Suppress folding of static expressions. This of course results -- in seriously non-conforming behavior, but is useful sometimes -- when tracking down handling of complex expressions. @@ -533,6 +539,10 @@ package body Debug is -- fully compiled and analyzed, they just get eliminated from the -- code generation step. + -- d.I Inspector mode. Relevant for VM_Target /= None. Try to generate + -- byte code, even in case of unsupported construct, for the sake + -- of static analysis tools. + -- d1 Error messages have node numbers where possible. Normally error -- messages have only source locations. This option is useful when -- debugging errors caused by expanded code, where the source location diff --git a/gcc/ada/layout.adb b/gcc/ada/layout.adb index 744d32f..f92a37d 100644 --- a/gcc/ada/layout.adb +++ b/gcc/ada/layout.adb @@ -819,6 +819,7 @@ package body Layout is OK : Boolean; LLo : Uint; LHi : Uint; + pragma Warnings (Off, LHi); begin Set_Parent (Len, E); @@ -1908,7 +1909,9 @@ package body Layout is First_Discr : Entity_Id; Last_Discr : Entity_Id; Esiz : SO_Ref; - RM_Siz : SO_Ref; + + RM_Siz : SO_Ref; + pragma Warnings (Off, SO_Ref); RM_Siz_Expr : Node_Id := Empty; -- Expression for the evolving RM_Siz value. This is typically a @@ -2789,10 +2792,13 @@ package body Layout is -- On VMS, also reset for odd "in between" sizes, e.g. a 17-bit -- record is given an alignment of 4. This is more consistent with - -- what DEC Ada does. - - elsif OpenVMS_On_Target and then Siz > System_Storage_Unit then + -- what DEC Ada does (-gnatd.a turns this off which can be used to + -- examine the value of this special transformation). + elsif OpenVMS_On_Target + and then not Debug_Flag_Dot_A + and then Siz > System_Storage_Unit + then if Siz <= 2 * System_Storage_Unit then Align := 2; elsif Siz <= 4 * System_Storage_Unit then |