Remove TARGET_INVALID_PARAMETER_TYPE and TARGET_INVALID_RETURN_TYPE hooks.
authorMatthew Wahab <matthew.wahab@arm.com>
Mon, 16 May 2016 10:22:25 +0000 (10:22 +0000)
committerMatthew Wahab <mwahab@gcc.gnu.org>
Mon, 16 May 2016 10:22:25 +0000 (10:22 +0000)
c/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* c-decl.c (grokdeclarator): Remove errmsg and use of
targetm.invalid_return_type.
(grokparms): Remove errmsg and use of
targetm.invalid_parameter_type.

cp/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* decl.c (grokdeclarator): Remove errmsg and use of
targetm.invalid_return_type.
(grokparms): Remove errmsg and use of
targetm.invalid_parameter_type.

gcc/
2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>

* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
(TARGET_INVALID_RETURN_TYPE): Remove.
* system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
TARGET_INVALID_RETURN_TYPE.
* target.def (invalid_parameter_type): Remove.
(invalid_return_type): Remove.

From-SVN: r236276

gcc/ChangeLog
gcc/c/ChangeLog
gcc/c/c-decl.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/system.h
gcc/target.def

index 7f70b9c696737aceaf6b914673e3dc52b9ebf132..88e39abaf17c619234c842a5dc8c23d1c92dca3d 100644 (file)
@@ -1,3 +1,13 @@
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+       * doc/tm.texi: Regenerate.
+       * doc/tm.texi.in (TARGET_INVALID_PARAMETER_TYPE): Remove.
+       (TARGET_INVALID_RETURN_TYPE): Remove.
+       * system.h: Poison TARGET_INVALID_PARAMETER_TYPE and
+       TARGET_INVALID_RETURN_TYPE.
+       * target.def (invalid_parameter_type): Remove.
+       (invalid_return_type): Remove.
+
 2016-05-16  Jan Hubicka  <hubicka@ucw.cz>
 
        * ipa-inline-analysis.c (compute_inline_parameters): Be more reailistic
index c726e9fde17ba5fd05b38bd548e4dc9a13c8c08b..67b300a7e779384336c076b52a6f2c94209ebb91 100644 (file)
@@ -1,3 +1,10 @@
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+       * c-decl.c (grokdeclarator): Remove errmsg and use of
+       targetm.invalid_return_type.
+       (grokparms): Remove errmsg and use of
+       targetm.invalid_parameter_type.
+
 2016-05-13  Joseph Myers  <joseph@codesourcery.com>
 
        * c-decl.c (grokdeclarator): For C11, discard qualifiers on
index b2dd644748ed52501b17d1fbab92bb0ff1917dd8..9441fbb3b40cfee42e3050d833382eeec0402c31 100644 (file)
@@ -5356,7 +5356,6 @@ grokdeclarator (const struct c_declarator *declarator,
   struct c_arg_info *arg_info = 0;
   addr_space_t as1, as2, address_space;
   location_t loc = UNKNOWN_LOCATION;
-  const char *errmsg;
   tree expr_dummy;
   bool expr_const_operands_dummy;
   enum c_declarator_kind first_non_attr_kind;
@@ -6090,12 +6089,6 @@ grokdeclarator (const struct c_declarator *declarator,
                            "an array");
                type = integer_type_node;
              }
-           errmsg = targetm.invalid_return_type (type);
-           if (errmsg)
-             {
-               error (errmsg);
-               type = integer_type_node;
-             }
 
            /* Construct the function type and go to the next
               inner layer of declarator.  */
@@ -6847,7 +6840,6 @@ grokparms (struct c_arg_info *arg_info, bool funcdef_flag)
     {
       tree parm, type, typelt;
       unsigned int parmno;
-      const char *errmsg;
 
       /* If there is a parameter of incomplete type in a definition,
         this is an error.  In a declaration this is valid, and a
@@ -6896,15 +6888,6 @@ grokparms (struct c_arg_info *arg_info, bool funcdef_flag)
                }
            }
 
-         errmsg = targetm.invalid_parameter_type (type);
-         if (errmsg)
-           {
-             error (errmsg);
-             TREE_VALUE (typelt) = error_mark_node;
-             TREE_TYPE (parm) = error_mark_node;
-             arg_types = NULL_TREE;
-           }
-
          if (DECL_NAME (parm) && TREE_USED (parm))
            warn_if_shadowing (parm);
        }
index 025c41274e2ec3a5d35ab512ff3376148739f85f..1884bc9c52d4a131873710f4de26ce28ca294caf 100644 (file)
@@ -1,3 +1,10 @@
+2016-05-16  Matthew Wahab  <matthew.wahab@arm.com>
+
+       * decl.c (grokdeclarator): Remove errmsg and use of
+       targetm.invalid_return_type.
+       (grokparms): Remove errmsg and use of
+       targetm.invalid_parameter_type.
+
 2016-05-13  Jason Merrill  <jason@redhat.com>
 
        PR c++/10200
index 126d8707e459d304f1918d7f6c2151b98d7e9f27..d493a776a0c26f40d3b00084e0d5f2b408bc4193 100644 (file)
@@ -9247,7 +9247,6 @@ grokdeclarator (const cp_declarator *declarator,
   bool late_return_type_p = false;
   bool array_parameter_p = false;
   source_location saved_loc = input_location;
-  const char *errmsg;
   tree reqs = NULL_TREE;
 
   signed_p = decl_spec_seq_has_spec_p (declspecs, ds_signed);
@@ -10047,12 +10046,6 @@ grokdeclarator (const cp_declarator *declarator,
                   decl, but to its return type.  */
                type_quals = TYPE_UNQUALIFIED;
              }
-           errmsg = targetm.invalid_return_type (type);
-           if (errmsg)
-             {
-               error (errmsg);
-               type = integer_type_node;
-             }
 
            /* Error about some types functions can't return.  */
 
@@ -11686,7 +11679,6 @@ grokparms (tree parmlist, tree *parms)
       tree type = NULL_TREE;
       tree init = TREE_PURPOSE (parm);
       tree decl = TREE_VALUE (parm);
-      const char *errmsg;
 
       if (parm == void_list_node)
        break;
@@ -11729,14 +11721,6 @@ grokparms (tree parmlist, tree *parms)
          init = NULL_TREE;
        }
 
-      if (type != error_mark_node
-         && (errmsg = targetm.invalid_parameter_type (type)))
-       {
-         error (errmsg);
-         type = error_mark_node;
-         TREE_TYPE (decl) = error_mark_node;
-       }
-
       if (type != error_mark_node)
        {
          if (deprecated_state != DEPRECATED_SUPPRESS)
index 057ac9aa517d6966a2f23bfa1e12c98885fc32ea..8c7f2a124febe75792f6a2b4eb44a44b1c29c47d 100644 (file)
@@ -11504,20 +11504,6 @@ and @var{type2}, or @code{NULL} if validity should be determined by
 the front end.
 @end deftypefn
 
-@deftypefn {Target Hook} {const char *} TARGET_INVALID_PARAMETER_TYPE (const_tree @var{type})
-If defined, this macro returns the diagnostic message when it is
-invalid for functions to include parameters of type @var{type},
-or @code{NULL} if validity should be determined by
-the front end.  This is currently used only by the C and C++ front ends.
-@end deftypefn
-
-@deftypefn {Target Hook} {const char *} TARGET_INVALID_RETURN_TYPE (const_tree @var{type})
-If defined, this macro returns the diagnostic message when it is
-invalid for functions to have return type @var{type},
-or @code{NULL} if validity should be determined by
-the front end.  This is currently used only by the C and C++ front ends.
-@end deftypefn
-
 @deftypefn {Target Hook} tree TARGET_PROMOTED_TYPE (const_tree @var{type})
 If defined, this target hook returns the type to which values of
 @var{type} should be promoted when they appear in expressions,
index 643f0eb2521b028a2f714a003dc020e004cca026..f963a586612a38eb4596c50d5e84b9e9de0287a3 100644 (file)
@@ -8173,10 +8173,6 @@ and scanf formatter settings.
 
 @hook TARGET_INVALID_BINARY_OP
 
-@hook TARGET_INVALID_PARAMETER_TYPE
-
-@hook TARGET_INVALID_RETURN_TYPE
-
 @hook TARGET_PROMOTED_TYPE
 
 @hook TARGET_CONVERT_TO_TYPE
index 984f302fbc953ef41012c496a131c5029a5340b3..78a7da63d8eb894f997fbab0f116f73266da7353 100644 (file)
@@ -987,7 +987,9 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
        TARGET_HANDLE_PRAGMA_EXTERN_PREFIX \
        TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN \
        TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD \
-       TARGET_MD_ASM_CLOBBERS TARGET_RELAXED_ORDERING EXTENDED_SDB_BASIC_TYPES
+       TARGET_MD_ASM_CLOBBERS TARGET_RELAXED_ORDERING \
+       EXTENDED_SDB_BASIC_TYPES TARGET_INVALID_PARAMETER_TYPE \
+       TARGET_INVALID_RETURN_TYPE
 
 /* Arrays that were deleted in favor of a functional interface.  */
  #pragma GCC poison built_in_decls implicit_built_in_decls
index 20f2b32da1e902a8f799f0ef4a5d53650e8fa91c..6392e73b1977addbf123754443a8bc318a55129a 100644 (file)
@@ -4820,28 +4820,6 @@ the front end.",
  const char *, (int op, const_tree type1, const_tree type2),
  hook_constcharptr_int_const_tree_const_tree_null)
 
-/* Return the diagnostic message string if TYPE is not valid as a
-   function parameter type, NULL otherwise.  */
-DEFHOOK
-(invalid_parameter_type,
- "If defined, this macro returns the diagnostic message when it is\n\
-invalid for functions to include parameters of type @var{type},\n\
-or @code{NULL} if validity should be determined by\n\
-the front end.  This is currently used only by the C and C++ front ends.",
- const char *, (const_tree type),
- hook_constcharptr_const_tree_null)
-
-/* Return the diagnostic message string if TYPE is not valid as a
-   function return type, NULL otherwise.  */
-DEFHOOK
-(invalid_return_type,
- "If defined, this macro returns the diagnostic message when it is\n\
-invalid for functions to have return type @var{type},\n\
-or @code{NULL} if validity should be determined by\n\
-the front end.  This is currently used only by the C and C++ front ends.",
- const char *, (const_tree type),
- hook_constcharptr_const_tree_null)
-
 /* If values of TYPE are promoted to some other type when used in
    expressions (analogous to the integer promotions), return that type,
    or NULL_TREE otherwise.  */