Ugh, sorry. Thanks for fixing this.

On 09/26/2014 05:23 PM, Thomas Schwinge wrote:
Hi!

On Fri, 26 Sep 2014 12:04:45 +0400, Maxim Ostapenko 
<m.ostape...@partner.samsung.com> wrote:
Thank you all for your help!

Done in r215633.

-Maxim
On 09/25/2014 11:05 PM, Jeff Law wrote:
On 09/23/14 01:14, Maxim Ostapenko wrote:

2014-09-04  Jakub Jelinek<ja...@redhat.com>
         Max Ostapenko<m.ostape...@partner.samsung.com>

     * common.opt: New option.
     * doc/invoke.texi: Describe new option.
     * gcc.c (execute): Don't free first string early, but at the end
     of the function.  Call retry_ice if compiler exited with
     ICE_EXIT_CODE.
     (main): Factor out common code.
     (print_configuration): New function.
     (files_equal_p): Likewise.
     (check_repro): Likewise.
     (run_attempt): Likewise.
     (do_report_bug): Likewise.
     (append_text): Likewise.
     (try_generate_repro): Likewise
Approved.  Please install.

Thanks for your patience,
Jeff
This is causing compiler warnings, respectively bootstrap errors:

     [...]
     ../../master/gcc/gcc.c: In function 'attempt_status run_attempt(const 
char**, const char*, const char*, int, int)':
     ../../master/gcc/gcc.c:6319:15: error: variable 'errmsg' set but not used 
[-Werror=unused-but-set-variable]
        const char *errmsg;
                    ^
     ../../master/gcc/gcc.c: At global scope:
     ../../master/gcc/gcc.c:6412:33: error: unused parameter 'prog' 
[-Werror=unused-parameter]
      try_generate_repro (const char *prog, const char **argv)
                                      ^
     cc1plus: all warnings being treated as errors
     Makefile:1040: recipe for target 'gcc.o' failed
     make[3]: *** [gcc.o] Error 1
     make[3]: Leaving directory 
'/media/erich/home/thomas/tmp/gcc/hurd/master.build/gcc'
     Makefile:4285: recipe for target 'all-stage2-gcc' failed
     make[2]: *** [all-stage2-gcc] Error 2
     make[2]: Leaving directory 
'/media/erich/home/thomas/tmp/gcc/hurd/master.build'
     Makefile:21561: recipe for target 'stage2-bubble' failed
     make[1]: *** [stage2-bubble] Error 2
     make[1]: Leaving directory 
'/media/erich/home/thomas/tmp/gcc/hurd/master.build'
     Makefile:892: recipe for target 'all' failed
     make: *** [all] Error 2

OK to fix as follows?  Only compile-tested, did not test the new
-freport-bug functionality.

This works fine on pr55843 and pr58987.

diff --git gcc/gcc.c gcc/gcc.c
index e32ff47..47c4e28 100644
--- gcc/gcc.c
+++ gcc/gcc.c
@@ -253,7 +253,7 @@ static void init_gcc_specs (struct obstack *, const char *, 
const char *,
  static const char *convert_filename (const char *, int, int);
  #endif
-static void try_generate_repro (const char *prog, const char **argv);
+static void try_generate_repro (const char **argv);
  static const char *getenv_spec_function (int, const char **);
  static const char *if_exists_spec_function (int, const char **);
  static const char *if_exists_else_spec_function (int, const char **);
@@ -2918,7 +2918,7 @@ execute (void)
                && i == 0
                && (p = strrchr (commands[0].argv[0], DIR_SEPARATOR))
                && ! strncmp (p + 1, "cc1", 3))
-             try_generate_repro (commands[0].prog, commands[0].argv);
+             try_generate_repro (commands[0].argv);
            if (WEXITSTATUS (status) > greatest_status)
              greatest_status = WEXITSTATUS (status);
            ret_code = -1;
@@ -6332,6 +6332,16 @@ run_attempt (const char **new_argv, const char *out_temp,
    errmsg = pex_run (pex, pex_flags, new_argv[0],
                    CONST_CAST2 (char *const *, const char **, &new_argv[1]), 
out_temp,
                    err_temp, &err);
+  if (errmsg != NULL)
+    {
+      if (err == 0)
+       fatal_error (errmsg);
+      else
+       {
+         errno = err;
+         pfatal_with_name (errmsg);
+       }
+    }
if (!pex_get_status (pex, 1, &exit_status))
      goto out;
@@ -6409,7 +6419,7 @@ append_text (char *file, const char *str)
     and preprocessed source code.  */
static void
-try_generate_repro (const char *prog, const char **argv)
+try_generate_repro (const char **argv)
  {
    int i, nargs, out_arg = -1, quiet = 0, attempt;
    const char **new_argv;



Grüße,
  Thomas
-Maxim

Reply via email to