X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fada%2Fdebug.adb;h=1ddd1f6ded88b1c51100dbf1638a6d151a61fdf0;hb=0c1fe26b5f780a30fd26e3e3075764f99322dbbf;hp=09ec0dccd49713135b96c7d905ea94911a5088a5;hpb=9dfe12ae5b94d03c997ea2903022a5d2d5c5f266;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ada/debug.adb b/gcc/ada/debug.adb index 09ec0dccd49..1ddd1f6ded8 100644 --- a/gcc/ada/debug.adb +++ b/gcc/ada/debug.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2003 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2007, 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- -- @@ -16,8 +16,8 @@ -- 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. -- +-- to the Free Software Foundation, 51 Franklin Street, Fifth Floor, -- +-- Boston, MA 02110-1301, USA. -- -- -- -- As a special exception, if other files instantiate generics from this -- -- unit, or you link this unit with other files to produce an executable, -- @@ -89,23 +89,23 @@ package body Debug is -- dU Enable garbage collection of unreachable entities -- dV Enable viewing of all symbols in debugger -- dW Disable warnings on calls for IN OUT parameters - -- dX Enable Frontend ZCX even when it is not supported + -- dX -- dY Enable configurable run-time mode - -- dZ + -- dZ Generate listing showing the contents of the dispatch tables -- d.a -- d.b -- d.c -- d.d -- d.e - -- d.f - -- d.g + -- d.f Inhibit folding of static expressions + -- d.g Enable conversion of raise into goto -- d.h -- d.i -- d.j -- d.k - -- d.l - -- d.m + -- d.l Use Ada 95 semantics for limited function returns + -- d.m For -gnatl, print full source only for main unit -- d.n -- d.o -- d.p @@ -115,12 +115,37 @@ package body Debug is -- d.t -- d.u -- d.v - -- d.w + -- d.w Do not check for infinite while loops -- d.x No exception handlers -- d.y -- d.z - + -- d.A + -- d.B + -- d.C + -- d.D + -- d.E + -- d.F + -- d.G + -- d.H + -- d.I + -- d.J + -- d.K + -- d.L + -- d.M + -- d.N + -- d.O + -- d.P + -- d.Q + -- d.R + -- d.S + -- d.T + -- d.U + -- d.V + -- d.W + -- d.X + -- d.Y + -- d.Z -- d1 Error msgs have node numbers where possible -- d2 Eliminate error flags in verbose form error messages @@ -134,21 +159,21 @@ package body Debug is -- Debug flags for binder (GNATBIND) - -- da - -- db + -- da All links (including internal units) listed if there is a cycle + -- db Output information from Better_Choice -- dc List units as they are chosen -- dd -- de Elaboration dependencies including system units -- df -- dg -- dh - -- di + -- di Ignore_Errors mode for reading ali files -- dj -- dk -- dl -- dm -- dn List details of manipulation of Num_Pred values - -- do + -- do Use old preference for elaboration order -- dp -- dq -- dr @@ -161,16 +186,6 @@ package body Debug is -- dy -- dz - -- d1 - -- d2 - -- d3 - -- d4 - -- d5 - -- d6 - -- d7 - -- d8 - -- d9 - -- Debug flags used in package Make and its clients (e.g. GNATMAKE) -- da @@ -200,16 +215,6 @@ package body Debug is -- dy -- dz - -- d1 - -- d2 - -- d3 - -- d4 - -- d5 - -- d6 - -- d7 - -- d8 - -- d9 - -------------------------------------------- -- Documentation for Compiler Debug Flags -- -------------------------------------------- @@ -321,7 +326,7 @@ package body Debug is -- an interepretation is incompatible with the context. -- dw Write semantic scope stack messages. Each time a scope is created - -- or removed, a message is output (see the Sem_Ch8.New_Scope and + -- or removed, a message is output (see the Sem_Ch8.Push_Scope and -- Sem_Ch8.Pop_Scope subprograms). -- dx Force expansion on, even if no code being generated. Normally the @@ -338,12 +343,15 @@ package body Debug is -- dz Print source of package Standard. Normally the source print out -- does not include package Standard, even if the -df switch is set. -- This switch forces output of the source recreated from the internal - -- tree built for Standard. + -- tree built for Standard. Note that this differs from -gnatS in + -- that it prints from the actual tree using the normal Sprint + -- circuitry for printing trees. -- dA Forces output of representation information, including full -- information for all internal type and object entities, as well -- as all user defined type and object entities including private - -- and incomplete types. + -- and incomplete types. This debug switch also automatically sets + -- the equivalent of -gnatR3m. -- dB Output debug encodings for types and variants. See Exp_Dbug for -- exact form of the generated output. @@ -409,7 +417,7 @@ package body Debug is -- indications. This debug flag disconnects the tracking of constant -- values (see Exp_Ch2.Expand_Current_Value). - -- dN Do not generate file name information in exception messages. + -- dN Do not generate file name information in exception messages -- dO Output immediate error messages. This causes error messages to -- be output as soon as they are generated (disconnecting several @@ -422,6 +430,8 @@ package body Debug is -- in preelaborable packages, but this restriction is a huge pain, -- especially in the predefined library units. + -- dQ needs full documentation ??? + -- dR Bypass the check for a proper version of s-rpc being present -- to use the -gnatz? switch. This allows debugging of the use -- of stubs generation without needing to have GLADE (or some @@ -456,23 +466,37 @@ package body Debug is -- task of transitioning incorrect legacy code, we provide this -- undocumented feature for suppressing these warnings. - -- dX Enable frontend ZCX even when it is not supported. Equivalent to - -- -gnatZ but without verifying that System.Front_End_ZCX_Support - -- is set. This causes the front end to generate suitable tables - -- for ZCX handling even when the runtime cannot handle ZCX. This - -- is used for testing the front end for correct ZCX operation, and - -- in particular is useful for multi-target testing. - -- dY Enable configurable run-time mode, just as though the System file -- had Configurable_Run_Time_Mode set to True. This is useful in -- testing high integrity mode. + -- 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. + + -- d.g Enables conversion of a raise statement into a goto when the + -- relevant handler is statically determinable. For now we only try + -- this if this debug flag is set. Later we will enable this more + -- generally by default. + + -- d.l Use Ada 95 semantics for limited function returns. This may be + -- used to work around the incompatibility introduced by AI-318-2. + -- It is useful only in -gnat05 mode. + + -- d.m When -gnatl is used, the normal output includes full listings of + -- all files in the extended main source (body/spec/subunits). If this + -- debug switch is used, then the full listing is given only for the + -- main source (this corresponds to a previous behavior of -gnatl and + -- is used for running the ACATS tests). + + -- d.w This flag turns off the scanning of while loops to detect possible + -- infinite loops. + -- d.x No exception handlers in generated code. This causes exception - -- handles to be eliminated from the generated code. They are still + -- handlers to be eliminated from the generated code. They are still -- fully compiled and analyzed, they just get eliminated from the -- code generation step. - -- 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 @@ -518,6 +542,12 @@ package body Debug is -- Documentation for Binder Debug Flags -- ------------------------------------------ + -- da Normally if there is an elaboration circularity, then in describing + -- the cycle, links involving internal units are omitted, since they + -- are irrelevant and confusing. This debug flag causes all links to + -- be listed, and is useful when diagnosing circularities introduced + -- by incorrect changes to the run-time library itself. + -- dc List units as they are chosen. As units are selected for addition to -- the elaboration order, a line of output is generated showing which -- unit has been selected. @@ -526,10 +556,22 @@ package body Debug is -- dependencies) except that internal units are included in the -- listing. + -- di Normally gnatbind calls Read_Ali with Ignore_Errors set to + -- False, since the binder really needs correct version ALI + -- files to do its job. This debug flag causes Ignore_Errors + -- mode to be set for the binder (and is particularly useful + -- for testing ignore errors mode). + -- dn List details of manipulation of Num_Pred values during execution of -- the algorithm used to determine a correct order of elaboration. This -- is useful in diagnosing any problems in its behavior. + -- do Use old elaboration order preference. The new preference rules + -- prefer specs with no bodies to specs with bodies, and between two + -- specs with bodies, prefers the one whose body is closer to being + -- able to be elaborated. This is a clear improvement, but we provide + -- this debug flag in case of regressions. + -- du List unit name and file name for each unit as it is read in -- dx Force the binder to read (and then ignore) the xref information @@ -562,15 +604,6 @@ package body Debug is -- dw Prints the list of units withed by the unit currently explored -- during the main loop of Make.Compile_Sources. - ---------------------- - -- Get_Debug_Flag_K -- - ---------------------- - - function Get_Debug_Flag_K return Boolean is - begin - return Debug_Flag_K; - end Get_Debug_Flag_K; - -------------------- -- Set_Debug_Flag -- --------------------