Remove DEF_GOACC_BUILTIN_FNSPEC
2015-11-06 Tom de Vries <tom@codesourcery.com>
* builtins.def (DEF_GOACC_BUILTIN_FNSPEC): Remove #undef and #define.
* omp-builtins.def: Remove DEF_GOACC_BUILTIN_FNSPEC.
* f95-lang.c (gfc_init_builtin_functions): Remove.
(DEF_GOACC_BUILTIN_FNSPEC): Remove #undef and #define.
---
gcc/builtins.def | 7 -------
gcc/fortran/f95-lang.c | 32 --------------------------------
gcc/omp-builtins.def | 24 ++++++++++--------------
3 files changed, 10 insertions(+), 53 deletions(-)
@@ -174,13 +174,6 @@ along with GCC; see the file COPYING3. If not see
false, true, true, ATTRS, false, \
(flag_openacc \
|| flag_offload_abi != OFFLOAD_ABI_UNSET))
-/* Like DEF_GOACC_BUILTIN, but with an fn spec attribute.
- KLUDGE: The ATTRS field needs to be a combination of ATTRS2 and FNSPEC.
- In this file, we use the ATTRS field, and in gcc/fortran/f95-lang.c, we use
- ATTRS2 and FNSPEC instead. */
-#undef DEF_GOACC_BUILTIN_FNSPEC
-#define DEF_GOACC_BUILTIN_FNSPEC(ENUM, NAME, TYPE, ATTRS, ATTRS2, FNSPEC) \
- DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS)
#undef DEF_GOACC_BUILTIN_COMPILER
#define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \
DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \
@@ -563,27 +563,6 @@ gfc_define_builtin (const char *name, tree type, enum built_in_function code,
set_builtin_decl (code, decl, true);
}
-/* Like gfc_define_builtin, but with fn spec attribute FNSPEC. */
-
-static void ATTRIBUTE_UNUSED
-gfc_define_builtin_with_spec (const char *name, tree fntype,
- enum built_in_function code,
- const char *library_name, int attr,
- const char *fnspec)
-{
- if (fnspec)
- {
- /* Code copied from build_library_function_decl_1. */
- tree attr_args = build_tree_list (NULL_TREE,
- build_string (strlen (fnspec), fnspec));
- tree attrs = tree_cons (get_identifier ("fn spec"),
- attr_args, TYPE_ATTRIBUTES (fntype));
- fntype = build_type_attribute_variant (fntype, attrs);
- }
-
- gfc_define_builtin (name, fntype, code, library_name, attr);
-}
-
#define DO_DEFINE_MATH_BUILTIN(code, name, argtype, tbase) \
gfc_define_builtin ("__builtin_" name "l", tbase##longdouble[argtype], \
BUILT_IN_ ## code ## L, name "l", \
@@ -1236,12 +1215,6 @@ gfc_init_builtin_functions (void)
#define DEF_GOACC_BUILTIN(code, name, type, attr) \
gfc_define_builtin ("__builtin_" name, builtin_types[type], \
code, name, attr);
-/* Like DEF_GOACC_BUILTIN, but with an fn spec attribute.
- KLUDGE: See gcc/builtins.def DEF_GOACC_BUILTIN_FNSPEC comment. */
-#undef DEF_GOACC_BUILTIN_FNSPEC
-#define DEF_GOACC_BUILTIN_FNSPEC(code, name, type, attr, attr2, fnspec) \
- gfc_define_builtin_with_spec ("__builtin_" name, builtin_types[type], \
- code, name, attr2, fnspec);
#undef DEF_GOACC_BUILTIN_COMPILER
#define DEF_GOACC_BUILTIN_COMPILER(code, name, type, attr) \
gfc_define_builtin (name, builtin_types[type], code, name, attr);
@@ -1249,7 +1222,6 @@ gfc_init_builtin_functions (void)
#define DEF_GOMP_BUILTIN(code, name, type, attr) /* ignore */
#include "../omp-builtins.def"
#undef DEF_GOACC_BUILTIN
-#undef DEF_GOACC_BUILTIN_FNSPEC
#undef DEF_GOACC_BUILTIN_COMPILER
#undef DEF_GOMP_BUILTIN
}
@@ -1258,9 +1230,6 @@ gfc_init_builtin_functions (void)
{
#undef DEF_GOACC_BUILTIN
#define DEF_GOACC_BUILTIN(code, name, type, attr) /* ignore */
-#undef DEF_GOACC_BUILTIN_FNSPEC
-#define DEF_GOACC_BUILTIN_FNSPEC(code, name, type, attr, attr2, fnspec) \
- /* Ignore. */
#undef DEF_GOACC_BUILTIN_COMPILER
#define DEF_GOACC_BUILTIN_COMPILER(code, name, type, attr) /* ignore */
#undef DEF_GOMP_BUILTIN
@@ -1269,7 +1238,6 @@ gfc_init_builtin_functions (void)
code, name, attr);
#include "../omp-builtins.def"
#undef DEF_GOACC_BUILTIN
-#undef DEF_GOACC_BUILTIN_FNSPEC
#undef DEF_GOACC_BUILTIN_COMPILER
#undef DEF_GOMP_BUILTIN
}
@@ -21,7 +21,6 @@ along with GCC; see the file COPYING3. If not see
/* Before including this file, you should define a macro:
DEF_GOACC_BUILTIN (ENUM, NAME, TYPE, ATTRS)
- DEF_GOACC_BUILTIN_FNSPEC (ENUM, NAME, TYPE, ATTRS, ATTRS2, FNSPEC)
DEF_GOACC_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS)
DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS)
@@ -32,24 +31,21 @@ along with GCC; see the file COPYING3. If not see
DEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type",
BT_FN_INT, ATTR_NOTHROW_LIST)
-DEF_GOACC_BUILTIN_FNSPEC (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
- ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST,
- ATTR_NOTHROW_LIST, "...rrr")
+DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start",
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR,
+ ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end",
BT_FN_VOID, ATTR_NOTHROW_LIST)
-DEF_GOACC_BUILTIN_FNSPEC (BUILT_IN_GOACC_ENTER_EXIT_DATA,
- "GOACC_enter_exit_data",
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
- ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST,
- ATTR_NOTHROW_LIST, "...rrr")
+DEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_EXIT_DATA,
+ "GOACC_enter_exit_data",
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
+ ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed",
BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR,
ATTR_NOTHROW_LIST)
-DEF_GOACC_BUILTIN_FNSPEC (BUILT_IN_GOACC_UPDATE, "GOACC_update",
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
- ATTR_FNSPEC_DOT_DOT_DOT_r_r_r_NOTHROW_LIST,
- ATTR_NOTHROW_LIST, "...rrr")
+DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update",
+ BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR,
+ ATTR_NOTHROW_LIST)
DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait",
BT_FN_VOID_INT_INT_VAR,
ATTR_NOTHROW_LIST)
--
1.9.1