aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2021-08-02 18:33:50 +0200
committerThomas Schwinge <thomas@codesourcery.com>2021-08-09 13:39:38 +0200
commit2a700fb8ea95927b02146db2b3338b1f9b868196 (patch)
tree5bf70253579d416f882328157f04ddb28db47598
parentc5230519305946338ddc7107ce45c740812142b4 (diff)
downloadgcc-2a700fb8ea95927b02146db2b3338b1f9b868196.zip
gcc-2a700fb8ea95927b02146db2b3338b1f9b868196.tar.gz
gcc-2a700fb8ea95927b02146db2b3338b1f9b868196.tar.bz2
Don't consider '-foffload-abi' in 'DEF_GOACC_BUILTIN', 'DEF_GOMP_BUILTIN'
Since Tom's PR64707 commit r220037 (Git commit 1506ae0e1e865fb7a42fc37a47f1799b71f21c53) "Make fopenmp an LTO option" as well as PR64672 commit r220038 (Git commit a0c88d0629a33161add8d5bc083f1e59f3f756f7) "Make fopenacc an LTO option", we're now actually passing '-fopenacc'/'-fopenmp' to the 'mkoffload's, which will pass these on to the offload compilers. gcc/ * builtins.def (DEF_GOACC_BUILTIN, DEF_GOMP_BUILTIN): Don't consider '-foffload-abi'. * common.opt (-foffload-abi): Remove 'Var', 'Init'. * opts.c (common_handle_option) <-foffload-abi> [ACCEL_COMPILER]: Ignore.
-rw-r--r--gcc/builtins.def8
-rw-r--r--gcc/common.opt2
-rw-r--r--gcc/opts.c6
3 files changed, 7 insertions, 9 deletions
diff --git a/gcc/builtins.def b/gcc/builtins.def
index ec556df..45a09b4 100644
--- a/gcc/builtins.def
+++ b/gcc/builtins.def
@@ -205,14 +205,11 @@ along with GCC; see the file COPYING3. If not see
/* Builtin used by the implementation of OpenACC and OpenMP. Few of these are
actually implemented in the compiler; most are in libgomp. */
-/* These builtins also need to be enabled in offloading compilers invoked from
- mkoffload; for that purpose, we're checking the -foffload-abi flag here. */
#undef DEF_GOACC_BUILTIN
#define DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \
DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
false, true, true, ATTRS, false, \
- (flag_openacc \
- || flag_offload_abi != OFFLOAD_ABI_UNSET))
+ flag_openacc)
#undef DEF_GOACC_BUILTIN_COMPILER
#define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \
DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
@@ -227,8 +224,7 @@ along with GCC; see the file COPYING3. If not see
false, true, true, ATTRS, false, \
(flag_openacc \
|| flag_openmp \
- || flag_tree_parallelize_loops > 1 \
- || flag_offload_abi != OFFLOAD_ABI_UNSET))
+ || flag_tree_parallelize_loops > 1))
/* Builtin used by the implementation of GNU TM. These
functions are mapped to the actual implementation of the STM library. */
diff --git a/gcc/common.opt b/gcc/common.opt
index d9da113..ed8ab5f 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -2112,7 +2112,7 @@ Common Driver Joined MissingArgError(options or targets=options missing after %q
-foffload-options=<targets>=<options> Specify options for the offloading targets.
foffload-abi=
-Common Joined RejectNegative Enum(offload_abi) Var(flag_offload_abi) Init(OFFLOAD_ABI_UNSET)
+Common Joined RejectNegative Enum(offload_abi)
-foffload-abi=[lp64|ilp32] Set the ABI to use in an offload compiler.
Enum
diff --git a/gcc/opts.c b/gcc/opts.c
index 93366e6..1f52e11 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -2737,12 +2737,14 @@ common_handle_option (struct gcc_options *opts,
/* Deferred. */
break;
-#ifndef ACCEL_COMPILER
case OPT_foffload_abi_:
+#ifdef ACCEL_COMPILER
+ /* Handled in the 'mkoffload's. */
+#else
error_at (loc, "%<-foffload-abi%> option can be specified only for "
"offload compiler");
- break;
#endif
+ break;
case OPT_fpack_struct_:
if (value <= 0 || (value & (value - 1)) || value > 16)