]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Don't consider '-foffload-abi' in 'DEF_GOACC_BUILTIN', 'DEF_GOMP_BUILTIN'
authorThomas Schwinge <thomas@codesourcery.com>
Mon, 2 Aug 2021 16:33:50 +0000 (18:33 +0200)
committerThomas Schwinge <thomas@codesourcery.com>
Mon, 9 Aug 2021 11:39:38 +0000 (13:39 +0200)
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.

gcc/builtins.def
gcc/common.opt
gcc/opts.c

index ec556df4f66d95a868c34437c5e39da6620f738e..45a09b4d42def5753ee6740b59d1209dd6e7a3d1 100644 (file)
@@ -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. */
index d9da1131edaa1c76d689b90eb3bdbfe84a5eb362..ed8ab5fbe13d4009f1d8be4adbe1f19ef457daf1 100644 (file)
@@ -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
index 93366e6eb2db256ca745c4843b50defebf0f08be..1f52e1139c75fcfa976f65a055e97ec9d2eeb3a7 100644 (file)
@@ -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)