Add 'default' to -foffload=; document that flag [PR67300]
authorTobias Burnus <tobias@codesourcery.com>
Tue, 29 Jun 2021 13:58:21 +0000 (15:58 +0200)
committerTobias Burnus <tobias@codesourcery.com>
Tue, 29 Jun 2021 14:00:04 +0000 (16:00 +0200)
commit33c4e466243f2d0459d9a4d0cadc1b38a3741f3e
tree1a57bf8b8455b470e352f1265f01d8bc19999cc7
parent489c5dcf7b063000a5e223535eb425cf9748720a
Add 'default' to -foffload=; document that flag [PR67300]

As -foffload={options,targets,targets=options} is very convoluted,
it has been split into -foffload=targets (supporting the old syntax
for backward compatibilty) and -foffload-options={options,target=options}.

Only the new syntax is documented.

Additionally, -foffload=default is supported, which can reset the
devices after -foffload=disable / -foffload=targets to the default,
if needed.

gcc/ChangeLog:

PR other/67300
* common.opt (-foffload=): Update description.
(-foffload-options=): New.
* doc/invoke.texi (C Language Options): Document
-foffload and -foffload-options.
* gcc.c (check_offload_target_name): New, split off from
handle_foffload_option.
(check_foffload_target_names): New.
(handle_foffload_option): Handle -foffload=default.
(driver_handle_option): Update for -foffload-options.
* lto-opts.c (lto_write_options): Use -foffload-options
instead of -foffload.
* lto-wrapper.c (merge_and_complain, append_offload_options):
Likewise.
* opts.c (common_handle_option): Likewise.

libgomp/ChangeLog:

PR other/67300
* testsuite/libgomp.c-c++-common/reduction-16.c: Replace
-foffload=nvptx-none= by -foffload-options=nvptx-none= to
avoid disabling other offload targets.
* testsuite/libgomp.c-c++-common/reduction-5.c: Likewise.
* testsuite/libgomp.c-c++-common/reduction-6.c: Likewise.
* testsuite/libgomp.c/target-44.c: Likewise.
gcc/common.opt
gcc/doc/invoke.texi
gcc/gcc.c
gcc/lto-opts.c
gcc/lto-wrapper.c
gcc/opts.c
libgomp/testsuite/libgomp.c-c++-common/reduction-16.c
libgomp/testsuite/libgomp.c-c++-common/reduction-5.c
libgomp/testsuite/libgomp.c-c++-common/reduction-6.c
libgomp/testsuite/libgomp.c/target-44.c