]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR lto/44965 (lto option code breaks file format with each added option)
authorRichard Guenther <rguenther@suse.de>
Thu, 3 Nov 2011 14:46:26 +0000 (14:46 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 3 Nov 2011 14:46:26 +0000 (14:46 +0000)
commit52a35ef729f3eae64eb9ba8213fd840e4c71df84
tree9b93ef15724edc35794595b3bb53fc4cb6c6ae89
parentfa66fc02ec785e63a40ab808b7e8bf47ceb7770b
re PR lto/44965 (lto option code breaks file format with each added option)

2011-11-03  Richard Guenther  <rguenther@suse.de>

PR lto/44965
* lto-opts.c: Re-implement.
* lto-streamer.h (lto_register_user_option): Remove.
(lto_read_file_options): Likewise.
(lto_reissue_options): Likewise.
(lto_clear_user_options): Likewise.
(lto_clear_file_options): Likewise.
* opts-global.c (post_handling_callback): Remove.
(set_default_handlers): Do not set post_handling_callback.
(decode_options): Remove LTO specific code.
* lto-wrapper.c (merge_and_complain): New function.
(run_gcc): Read all input file options and
prepend a merged set before the linker driver options.
* gcc.c (driver_post_handling_callback): Remove.
(set_option_handlers): Do not set post_handling_callback.
* opts-common.c (handle_option): Do not call post_handling_callback.
* opts.h (struct cl_option_handlers): Remove post_handling_callback.

lto/
* lto-lang.c (lto_post_options): Do not read file options.
* lto.c (lto_read_all_file_options): Remove.
(lto_init): Call lto_set_in_hooks here.

From-SVN: r180827
gcc/ChangeLog
gcc/gcc.c
gcc/lto-opts.c
gcc/lto-streamer.h
gcc/lto-wrapper.c
gcc/lto/ChangeLog
gcc/lto/lto-lang.c
gcc/lto/lto.c
gcc/opts-common.c
gcc/opts-global.c
gcc/opts.h