This is the mail archive of the gcc-patches@gcc.gnu.org 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]

Re: move flag_debug_compare out of diagnostics.c


On 19 February 2010 22:20, Alexandre Oliva <aoliva@redhat.com> wrote:
> On Feb 19, 2010, Manuel López-Ibáñez <lopezibanez@gmail.com> wrote:
>
>> The uncommented test for flag_debug_compare in diagnostics.c is
>> probably a left-over from the vta merge.
>
> Nope, it's necessary to avoid issuing duplicate DT_NOTEs during
> -fcompare-debug (two-stage) compilations.

What do you mean by duplicate?

So you want to silence everything but errors and ICEs.

> Warnings are silenced by other means (gcc.c adds -w), and errors prevent
> the second stage, so notes are the only the required special handling.
>
> Silencing all diagnostics is kind of nice, but what if there's a
> compiler bug that causes only the second stage to fail with an ICE, or
> even a regular error? ?It would be nice if it wasn't silenced.

OK, I missed that. My point is that diagnostics.c should provide was
is needed to achieve this in a general way, so it can be easy to
understand in the future.

What about this new patch?

2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* diagnostic.c (diagnostic_initialize): Update.
	(diagnostic_report_diagnostic): Test inhibit_notes_p for
	informative notes.
	* diagnostic.h (diagnostic_context): New bool inhibit_notes_p.
	(diagnostic_inhibit_notes): New.
	* toplev.c (process_options): inhibit notes with -fcompare-debug.

Attachment: inhibitnotes.diff
Description: Text document


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