This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] Improve -gnatdc debugging output

This patch improves the output produced by the -gnatdc switch by moving the
starting message to the start of relevant routines, printing a message at the
end of each analysis, and indenting the output to reflect the recursion depth.
No test case is available -- it's not worth regression-testing this, since it's
mere debug output. Furthermore, the output is highly sensitive to changes in
the runtimes, since it contains line/column numbers.

Tested on x86_64-pc-linux-gnu, committed on trunk

2009-04-17  Bob Duff  <>

	* (Indent,Outdent): New procedures for indenting the output.
	(Write_Char): Correct comment -- LF _is_ allowed.

	* output.adb (Indent,Outdent): New procedures for indenting the output.
	Keep track of the indentation level, and make sure it doesn't get too
	(Flush_Buffer): Insert spaces at the beginning of each line, if
	indentation level is nonzero.
	(Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current
	indentation level.
	(Set_Standard_Error,Set_Standard_Output): Remove superfluous
	"Next_Col := 1;".  Flush_Buffer does that.

	* sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output
	controlled by the -gnatdc switch. It now occurs on entry/exit to the
	relevant analysis routines, and calls Indent/Outdent to make the
	indentation reflect the nesting level.  Add "helper" routines, since
	otherwise lots of "return;" statements would skip the debugging output.

Attachment: difs
Description: Text document

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]