diff options
author | Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | 2020-02-24 11:55:45 +0530 |
---|---|---|
committer | Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> | 2020-02-24 11:55:45 +0530 |
commit | f1a681a174cdfb82e62c246d6f4add9a25fc2e43 (patch) | |
tree | 8c6d66f99473e10c0265b47eec8831eacc05392b /gcc/opts.h | |
parent | 9069e9484cec2ff981c87c75b226ad738847ca07 (diff) | |
download | gcc-f1a681a174cdfb82e62c246d6f4add9a25fc2e43.zip gcc-f1a681a174cdfb82e62c246d6f4add9a25fc2e43.tar.gz gcc-f1a681a174cdfb82e62c246d6f4add9a25fc2e43.tar.bz2 |
PR47785: Add support for handling Xassembler/Wa options with LTO.
2020-02-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
Kugan Vivekandarajah <kugan.vivekanandarajah@linaro.org>
PR driver/47785
* gcc.c (putenv_COLLECT_AS_OPTIONS): New function.
(driver::main): Call putenv_COLLECT_AS_OPTIONS.
* opts-common.c (parse_options_from_collect_gcc_options): New function.
(prepend_xassembler_to_collect_as_options): Likewise.
* opts.h (parse_options_from_collect_gcc_options): Declare prototype.
(prepend_xassembler_to_collect_as_options): Likewise.
* lto-opts.c (lto_write_options): Stream assembler options
in COLLECT_AS_OPTIONS.
* lto-wrapper.c (xassembler_options_error): New static variable.
(get_options_from_collect_gcc_options): Move parsing options code to
parse_options_from_collect_gcc_options and call it.
(merge_and_complain): Validate -Xassembler options.
(append_compiler_options): Handle OPT_Xassembler.
(run_gcc): Append command line -Xassembler options to
collect_gcc_options.
* doc/invoke.texi: Add documentation about using Xassembler
options with LTO.
testsuite/
* gcc.target/arm/pr78353-1.c: New test.
* gcc.target/arm/pr78353-2.c: Likewise.
Diffstat (limited to 'gcc/opts.h')
-rw-r--r-- | gcc/opts.h | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -460,6 +460,11 @@ extern bool parse_and_check_align_values (const char *flag, bool report_error, location_t loc); +extern void parse_options_from_collect_gcc_options (const char *, obstack *, + int *); + +extern void prepend_xassembler_to_collect_as_options (const char *, obstack *); + /* Set OPTION in OPTS to VALUE if the option is not set in OPTS_SET. */ #define SET_OPTION_IF_UNSET(OPTS, OPTS_SET, OPTION, VALUE) \ |