On January 9, 2018 12:52:47 AM GMT+01:00, Jakub Jelinek <ja...@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 <ja...@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