comparison gcc/ada/debug.adb @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- D E B U G -- 5 -- D E B U G --
6 -- -- 6 -- --
7 -- B o d y -- 7 -- B o d y --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
126 -- d.F Debug mode for GNATprove 126 -- d.F Debug mode for GNATprove
127 -- d.G Ignore calls through generic formal parameters for elaboration 127 -- d.G Ignore calls through generic formal parameters for elaboration
128 -- d.H GNSA mode for ASIS 128 -- d.H GNSA mode for ASIS
129 -- d.I Do not ignore enum representation clauses in CodePeer mode 129 -- d.I Do not ignore enum representation clauses in CodePeer mode
130 -- d.J Relaxed rules for pragma No_Return 130 -- d.J Relaxed rules for pragma No_Return
131 -- d.K Enable generation of contract-only procedures in CodePeer mode 131 -- d.K
132 -- d.L Depend on back end for limited types in if and case expressions 132 -- d.L Depend on back end for limited types in if and case expressions
133 -- d.M Relaxed RM semantics 133 -- d.M Relaxed RM semantics
134 -- d.N Add node to all entities 134 -- d.N Add node to all entities
135 -- d.O Dump internal SCO tables 135 -- d.O Dump internal SCO tables
136 -- d.P Previous (non-optimized) handling of length comparisons 136 -- d.P Previous (non-optimized) handling of length comparisons
152 -- d_e Ignore entry calls and requeue statements for elaboration 152 -- d_e Ignore entry calls and requeue statements for elaboration
153 -- d_f Issue info messages related to GNATprove usage 153 -- d_f Issue info messages related to GNATprove usage
154 -- d_g 154 -- d_g
155 -- d_h 155 -- d_h
156 -- d_i Ignore activations and calls to instances for elaboration 156 -- d_i Ignore activations and calls to instances for elaboration
157 -- d_j 157 -- d_j Read JSON files and populate Repinfo tables (opposite of -gnatRjs)
158 -- d_k 158 -- d_k
159 -- d_l 159 -- d_l
160 -- d_m 160 -- d_m
161 -- d_n 161 -- d_n
162 -- d_o 162 -- d_o
175 -- d_A Stop generation of ALI file 175 -- d_A Stop generation of ALI file
176 -- d_B 176 -- d_B
177 -- d_C 177 -- d_C
178 -- d_D 178 -- d_D
179 -- d_E 179 -- d_E
180 -- d_F 180 -- d_F Encode full invocation paths in ALI files
181 -- d_G 181 -- d_G
182 -- d_H 182 -- d_H
183 -- d_I 183 -- d_I
184 -- d_J 184 -- d_J
185 -- d_K 185 -- d_K (Reserved) Enable reporting a warning on known-problem issues
186 -- d_L Output trace information on elaboration checking 186 -- d_L Output trace information on elaboration checking
187 -- d_M 187 -- d_M
188 -- d_N 188 -- d_N
189 -- d_O 189 -- d_O
190 -- d_P 190 -- d_P
191 -- d_Q 191 -- d_Q
192 -- d_R 192 -- d_R
193 -- d_S 193 -- d_S
194 -- d_T 194 -- d_T Output trace information on invocation path recording
195 -- d_U 195 -- d_U
196 -- d_V 196 -- d_V
197 -- d_W 197 -- d_W
198 -- d_X 198 -- d_X
199 -- d_Y 199 -- d_Y
256 -- dw 256 -- dw
257 -- dx Force binder to read xref information from ali files 257 -- dx Force binder to read xref information from ali files
258 -- dy 258 -- dy
259 -- dz 259 -- dz
260 260
261 -- dA
262 -- dB
263 -- dC
264 -- dD
265 -- dE
266 -- dF
267 -- dG
268 -- dH
269 -- dI
270 -- dJ
271 -- dK
272 -- dL
273 -- dM
274 -- dN
275 -- dO
276 -- dP
277 -- dQ
278 -- dR
279 -- dS
280 -- dT
281 -- dU
282 -- dV
283 -- dW
284 -- dX
285 -- dY
286 -- dZ
287
288 -- d.a
289 -- d.b
290 -- d.c
291 -- d.d
292 -- d.e
293 -- d.f
294 -- d.g
295 -- d.h
296 -- d.i
297 -- d.j
298 -- d.k
299 -- d.l
300 -- d.m
301 -- d.n
302 -- d.o
303 -- d.p
304 -- d.q
305 -- d.r
306 -- d.s
307 -- d.t
308 -- d.u
309 -- d.v
310 -- d.w
311 -- d.x
312 -- d.y
313 -- d.z
314
315 -- d.A
316 -- d.B
317 -- d.C
318 -- d.D
319 -- d.E
320 -- d.F
321 -- d.G
322 -- d.H
323 -- d.I
324 -- d.J
325 -- d.K
326 -- d.L
327 -- d.M
328 -- d.N
329 -- d.O
330 -- d.P
331 -- d.Q
332 -- d.R
333 -- d.S
334 -- d.T
335 -- d.U
336 -- d.V
337 -- d.W
338 -- d.X
339 -- d.Y
340 -- d.Z
341
342 -- d.1
343 -- d.2
344 -- d.3
345 -- d.4
346 -- d.5
347 -- d.6
348 -- d.7
349 -- d.8
350 -- d.9
351
352 -- d_a Ignore the effects of pragma Elaborate_All
353 -- d_b Ignore the effects of pragma Elaborate_Body
354 -- d_c
355 -- d_d
356 -- d_e Ignore the effects of pragma Elaborate
357 -- d_f
358 -- d_g
359 -- d_h
360 -- d_i
361 -- d_j
362 -- d_k
363 -- d_l
364 -- d_m
365 -- d_n
366 -- d_o
367 -- d_p
368 -- d_q
369 -- d_r
370 -- d_s
371 -- d_t Output cycle-detection trace information
372 -- d_u
373 -- d_v
374 -- d_w
375 -- d_x
376 -- d_y
377 -- d_z
378
379 -- d_A Output ALI invocation tables
380 -- d_B
381 -- d_C Diagnose all cycles
382 -- d_D
383 -- d_E
384 -- d_F
385 -- d_G
386 -- d_H
387 -- d_I Output invocation graph
388 -- d_J
389 -- d_K
390 -- d_L Output library graph
391 -- d_M
392 -- d_N
393 -- d_O
394 -- d_P Output cycle paths
395 -- d_Q
396 -- d_R
397 -- d_S Output elaboration-order status
398 -- d_T Output elaboration-order trace information
399 -- d_U
400 -- d_V Validate bindo cycles, graphs, and order
401 -- d_W
402 -- d_X
403 -- d_Y
404 -- d_Z
405
406 -- d_1
407 -- d_2
408 -- d_3
409 -- d_4
410 -- d_5
411 -- d_6
412 -- d_7
413 -- d_8
414 -- d_9
415
261 -- Debug flags used in package Make and its clients (e.g. GNATMAKE) 416 -- Debug flags used in package Make and its clients (e.g. GNATMAKE)
262 417
263 -- da 418 -- da
264 -- db 419 -- db
265 -- dc 420 -- dc
445 -- general Elaborate_All is still required because of nested calls. 600 -- general Elaborate_All is still required because of nested calls.
446 601
447 -- dE Apply compile time elaboration checking for with relations between 602 -- dE Apply compile time elaboration checking for with relations between
448 -- predefined units. Normally no checks are made. 603 -- predefined units. Normally no checks are made.
449 604
450 -- dF Perform the new SPARK checking rules for pointer aliasing. This is 605 -- dF Disable the new SPARK checking rules for pointer aliasing. This is
451 -- only activated in GNATprove mode and on SPARK code. These rules are 606 -- only activated as part of GNATprove mode and on SPARK code. Now
452 -- not yet part of the official SPARK language, but are expected to be 607 -- that pointer support is part of the official SPARK language, this
453 -- included in a future version of SPARK. 608 -- switch allows reverting to the previous version of GNATprove
609 -- rejecting pointers.
454 610
455 -- dG Generate all warnings. Normally Errout suppresses warnings on 611 -- dG Generate all warnings. Normally Errout suppresses warnings on
456 -- units that are not part of the main extended source, and also 612 -- units that are not part of the main extended source, and also
457 -- suppresses warnings on instantiations in the main extended 613 -- suppresses warnings on instantiations in the main extended
458 -- source that duplicate warnings already posted on the template. 614 -- source that duplicate warnings already posted on the template.
748 -- d.J Relaxed rules for pragma No_Return. A pragma No_Return is illegal 904 -- d.J Relaxed rules for pragma No_Return. A pragma No_Return is illegal
749 -- if it applies to a body. This switch disables the legality check 905 -- if it applies to a body. This switch disables the legality check
750 -- for that. If the procedure does in fact return normally, execution 906 -- for that. If the procedure does in fact return normally, execution
751 -- is erroneous, and therefore unpredictable. 907 -- is erroneous, and therefore unpredictable.
752 908
753 -- d.K Enable generation of contract-only procedures in CodePeer mode and
754 -- report a warning on subprograms for which the contract-only body
755 -- cannot be built. Currently reported on subprograms defined in
756 -- nested package specs that have some formal (or return type) whose
757 -- type is a private type defined in some enclosing package and that
758 -- have pre/postconditions.
759
760 -- d.L Normally the front end generates special expansion for conditional 909 -- d.L Normally the front end generates special expansion for conditional
761 -- expressions of a limited type. This debug flag removes this special 910 -- expressions of a limited type. This debug flag removes this special
762 -- case expansion, leaving it up to the back end to handle conditional 911 -- case expansion, leaving it up to the back end to handle conditional
763 -- expressions correctly. 912 -- expressions correctly.
764 913
838 987
839 -- d_i The compiler ignores calls and task activations when they target a 988 -- d_i The compiler ignores calls and task activations when they target a
840 -- subprogram or task type defined in an external instance for both 989 -- subprogram or task type defined in an external instance for both
841 -- the static and dynamic elaboration models. 990 -- the static and dynamic elaboration models.
842 991
992 -- d_j The compiler reads JSON files that would be generated by the same
993 -- compilation session if -gnatRjs was passed, in order to populate
994 -- the internal tables of the Repinfo unit from them.
995
843 -- d_p The compiler ignores calls to subprograms which verify the run-time 996 -- d_p The compiler ignores calls to subprograms which verify the run-time
844 -- semantics of invariants and postconditions in both the static and 997 -- semantics of invariants and postconditions in both the static and
845 -- dynamic elaboration models. 998 -- dynamic elaboration models.
846 999
847 -- d_s The compiler stops the examination of a task body once it reaches 1000 -- d_s The compiler stops the examination of a task body once it reaches
848 -- a call to routine Ada.Synchronous_Task_Control.Suspend_Until_True 1001 -- a call to routine Ada.Synchronous_Task_Control.Suspend_Until_True
849 -- or Ada.Synchronous_Barriers.Wait_For_Release. 1002 -- or Ada.Synchronous_Barriers.Wait_For_Release.
850 1003
851 -- d_A Do not generate ALI files by setting Opt.Disable_ALI_File. 1004 -- d_A Do not generate ALI files by setting Opt.Disable_ALI_File.
1005
1006 -- d_F The compiler encodes the full path from an invocation construct to
1007 -- an external target, offering additional information to GNATBIND for
1008 -- purposes of error diagnostics.
1009
1010 -- d_K (Reserved) Enable reporting a warning on known-problem issues of
1011 -- previous releases. No action performed in the wavefront.
852 1012
853 -- d_L Output trace information on elaboration checking. This debug switch 1013 -- d_L Output trace information on elaboration checking. This debug switch
854 -- causes output to be generated showing each call or instantiation as 1014 -- causes output to be generated showing each call or instantiation as
855 -- it is checked, and the progress of the recursive trace through 1015 -- it is checked, and the progress of the recursive trace through
856 -- elaboration calls at compile time. 1016 -- elaboration calls at compile time.
1017
1018 -- d_T The compiler outputs trance information to standard output whenever
1019 -- an invocation path is recorded.
857 1020
858 -- d1 Error messages have node numbers where possible. Normally error 1021 -- d1 Error messages have node numbers where possible. Normally error
859 -- messages have only source locations. This option is useful when 1022 -- messages have only source locations. This option is useful when
860 -- debugging errors caused by expanded code, where the source location 1023 -- debugging errors caused by expanded code, where the source location
861 -- does not give enough information. 1024 -- does not give enough information.
952 1115
953 -- de Similar to the effect of -e (output complete list of elaboration 1116 -- de Similar to the effect of -e (output complete list of elaboration
954 -- dependencies) except that internal units are included in the 1117 -- dependencies) except that internal units are included in the
955 -- listing. 1118 -- listing.
956 1119
957 -- di Normally gnatbind calls Read_Ali with Ignore_Errors set to 1120 -- di Normally GNATBIND calls Read_Ali with Ignore_Errors set to False,
958 -- False, since the binder really needs correct version ALI 1121 -- since the binder really needs correct version ALI files to do its
959 -- files to do its job. This debug flag causes Ignore_Errors 1122 -- job. This debug flag causes Ignore_Errors mode to be set for the
960 -- mode to be set for the binder (and is particularly useful 1123 -- binder (and is particularly useful for testing ignore errors mode).
961 -- for testing ignore errors mode).
962 1124
963 -- dn List details of manipulation of Num_Pred values during execution of 1125 -- dn List details of manipulation of Num_Pred values during execution of
964 -- the algorithm used to determine a correct order of elaboration. This 1126 -- the algorithm used to determine a correct order of elaboration. This
965 -- is useful in diagnosing any problems in its behavior. 1127 -- is useful in diagnosing any problems in its behavior.
966 1128
982 1144
983 -- dv Verbose debugging printouts 1145 -- dv Verbose debugging printouts
984 1146
985 -- dx Force the binder to read (and then ignore) the xref information 1147 -- dx Force the binder to read (and then ignore) the xref information
986 -- in ali files (used to check that read circuit is working OK). 1148 -- in ali files (used to check that read circuit is working OK).
1149
1150 -- d_a GNATBIND ignores the effects of pragma Elaborate_All in the case of
1151 -- elaboration order and treats the associated dependency as a regular
1152 -- with edge.
1153
1154 -- d_b GNATBIND ignores the effects of pragma Elaborate_Body in the case
1155 -- of elaboration order and treats the spec and body as decoupled.
1156
1157 -- d_e GNATBIND ignores the effects of pragma Elaborate in the case of
1158 -- elaboration order and no longer creates an implicit dependency on
1159 -- the body of the argument.
1160
1161 -- d_t GNATBIND output trace information of cycle-detection activities to
1162 -- standard output.
1163
1164 -- d_A GNATBIND output the contents of all ALI invocation-related tables
1165 -- in textual format to standard output.
1166
1167 -- d_C GNATBIND diagnoses all unique cycles within the bind, rather than
1168 -- just the most important one.
1169
1170 -- d_I GNATBIND outputs the contents of the invocation graph in textual
1171 -- format to standard output.
1172
1173 -- d_L GNATBIND outputs the contents of the library graph in textual
1174 -- format to standard output.
1175
1176 -- d_P GNATBIND outputs the cycle paths to standard output
1177
1178 -- d_S GNATBIND outputs trace information concerning the status of its
1179 -- various phases to standard output.
1180
1181 -- d_T GNATBIND outputs trace information of elaboration order detection
1182 -- activities to standard output.
1183
1184 -- d_V GNATBIND validates the invocation graph, library graph along with
1185 -- its cycles, and the elaboration order.
987 1186
988 -------------------------------------------- 1187 --------------------------------------------
989 -- Documentation for gnatmake Debug Flags -- 1188 -- Documentation for gnatmake Debug Flags --
990 -------------------------------------------- 1189 --------------------------------------------
991 1190