diff options
author | Thomas Schwinge <thomas@codesourcery.com> | 2014-09-26 15:43:34 +0200 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gcc.gnu.org> | 2014-09-26 15:43:34 +0200 |
commit | 1120a85052a925dd73ac76487ae41009bfdefa5d (patch) | |
tree | aa69c4578dc33a5ad9cde2b7702b2a2d6837a03d /gcc | |
parent | a3125fc2339aea0f552800ae4a052af49e16e54e (diff) | |
download | gcc-1120a85052a925dd73ac76487ae41009bfdefa5d.zip gcc-1120a85052a925dd73ac76487ae41009bfdefa5d.tar.gz gcc-1120a85052a925dd73ac76487ae41009bfdefa5d.tar.bz2 |
Fix -freport-bug patch.
gcc/
* gcc.c (try_generate_repro): Remove argument "prog". Change all
users.
(run_attempt): Handle errors of "pex_run" invocation.
Fixes bootstrap failure/compiler warnings:
[...]
../../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
From-SVN: r215644
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/gcc.c | 16 |
2 files changed, 19 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b003923..623fb7d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2014-09-26 Thomas Schwinge <thomas@codesourcery.com> + + * gcc.c (try_generate_repro): Remove argument "prog". Change all + users. + (run_attempt): Handle errors of "pex_run" invocation. + 2014-09-26 Christophe Lyon <christophe.lyon@linaro.org> * config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define. @@ -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; |