re PR lto/50602 (ICE in tree_nrv, at tree-nrv.c:155 during large LTO build)
2012-05-04 Richard Guenther <rguenther@suse.de> PR lto/50602 * lto-wrapper.c (merge_and_complain): Complain about mismatches of -freg-struct-return and -fpcc-struct-return. (run_gcc): Pass through -freg-struct-return and -fpcc-struct-return from the input file options and ignore those from the link command line. From-SVN: r187155
This commit is contained in:
parent
efe7068bc9
commit
8bb50e5ce0
2 changed files with 27 additions and 0 deletions
|
@ -1,3 +1,12 @@
|
|||
2012-05-04 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR lto/50602
|
||||
* lto-wrapper.c (merge_and_complain): Complain about mismatches
|
||||
of -freg-struct-return and -fpcc-struct-return.
|
||||
(run_gcc): Pass through -freg-struct-return and -fpcc-struct-return
|
||||
from the input file options and ignore those from the link
|
||||
command line.
|
||||
|
||||
2012-05-04 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/53168
|
||||
|
|
|
@ -414,6 +414,16 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
|
|||
if (j == *decoded_options_count)
|
||||
append_option (decoded_options, decoded_options_count, foption);
|
||||
break;
|
||||
|
||||
case OPT_freg_struct_return:
|
||||
case OPT_fpcc_struct_return:
|
||||
for (j = 0; j < *decoded_options_count; ++j)
|
||||
if ((*decoded_options)[j].opt_index == foption->opt_index)
|
||||
break;
|
||||
if (j == *decoded_options_count)
|
||||
fatal ("Option %s not used consistently in all LTO input files",
|
||||
foption->orig_option_with_args_text);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -558,6 +568,8 @@ run_gcc (unsigned argc, char *argv[])
|
|||
case OPT_fcommon:
|
||||
case OPT_fexceptions:
|
||||
case OPT_fgnu_tm:
|
||||
case OPT_freg_struct_return:
|
||||
case OPT_fpcc_struct_return:
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -619,6 +631,12 @@ run_gcc (unsigned argc, char *argv[])
|
|||
/* We've handled these LTO options, do not pass them on. */
|
||||
continue;
|
||||
|
||||
case OPT_freg_struct_return:
|
||||
case OPT_fpcc_struct_return:
|
||||
/* Ignore these, they are determined by the input files.
|
||||
??? We fail to diagnose a possible mismatch here. */
|
||||
continue;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue