[PATCH] Fix -freport-bug (PR preprocessor/83722)
Richard Biener
rguenther@suse.de
Tue Jan 9 08:13:00 GMT 2018
On January 9, 2018 12:52:47 AM GMT+01:00, Jakub Jelinek <jakub@redhat.com> wrote:
>Hi!
>
>Matthias reported that -freport-bug may insert preprocessor diagnostics
>into middle of the preprocessed dump generated by -freport-bug.
>The diagnostic text in there is intentional, but should be at the
>beginning
>of the file and each line prefixed with //, which is done, but then
>because of the following bug it can appear once more.
>do_report_bug 3rd argument is the file where to store the stdout,
>which for the -E -o - invocation is the preprocessed source and we're
>appending it there, after the // lines already prepared earlier.
>The 4th argument is where we put the error output, and it happened to
>be
>the same file. We don't really need it (so in theory could also use
>/dev/null, but the file already exists anyway and we have code to
>remove it
>later in any case).
>
>Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
OK.
Richard.
>2018-01-09 Jakub Jelinek <jakub@redhat.com>
>
> PR preprocessor/83722
> * gcc.c (try_generate_repro): Pass
> &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than
> &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to
> do_report_bug.
>
>--- gcc/gcc.c.jj 2018-01-03 10:19:54.764533895 +0100
>+++ gcc/gcc.c 2018-01-08 12:48:30.918627648 +0100
>@@ -7035,8 +7035,8 @@ try_generate_repro (const char **argv)
>
>/* In final attempt we append compiler options and preprocesssed code
>to last
> generated .out file with configuration and backtrace. */
>- char **output = &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1];
>- do_report_bug (new_argv, nargs, stderr_commented, output);
>+ char **err = &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1];
>+ do_report_bug (new_argv, nargs, stderr_commented, err);
> }
>
> out:
>
> Jakub
More information about the Gcc-patches
mailing list