input_location = saved_location;
}
-/* Built-in attribute handlers. */
+/* Built-in attribute handlers.
+ These functions take the arguments:
+ (tree *node, tree name, tree args, int flags, bool *no_add_attrs) */
/* Handle a "noreturn" attribute; arguments as in
struct attribute_spec.handler. */
static tree
-handle_noreturn_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_noreturn_attribute (tree *node, tree, tree, int, bool *)
{
tree type = TREE_TYPE (*node);
struct attribute_spec.handler. */
static tree
-handle_leaf_attribute (tree *node, tree name,
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags), bool *no_add_attrs)
+handle_leaf_attribute (tree *node, tree name, tree, int, bool *no_add_attrs)
{
if (TREE_CODE (*node) != FUNCTION_DECL)
{
struct attribute_spec.handler. */
static tree
-handle_const_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_const_attribute (tree *node, tree, tree, int, bool *)
{
tree type = TREE_TYPE (*node);
struct attribute_spec.handler. */
tree
-handle_malloc_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_malloc_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL
&& POINTER_TYPE_P (TREE_TYPE (TREE_TYPE (*node))));
struct attribute_spec.handler. */
static tree
-handle_pure_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_pure_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL);
DECL_PURE_P (*node) = 1;
struct attribute_spec.handler. */
static tree
-handle_novops_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_novops_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL);
DECL_IS_NOVOPS (*node) = 1;
/* Handle the "nonnull" attribute. */
static tree
-handle_nonnull_attribute (tree *node, tree ARG_UNUSED (name),
- tree args, int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_nonnull_attribute (tree *node, tree, tree args, int, bool *)
{
tree type = *node;
struct attribute_spec.handler. */
static tree
-handle_nothrow_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_nothrow_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL);
TREE_NOTHROW (*node) = 1;
/* Handle a "type_generic" attribute. */
static tree
-handle_type_generic_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_type_generic_attribute (tree *node, tree, tree, int, bool *)
{
/* Ensure we have a function type. */
gcc_assert (TREE_CODE (*node) == FUNCTION_TYPE);
/* Handle a "transaction_pure" attribute. */
static tree
-handle_transaction_pure_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_transaction_pure_attribute (tree *node, tree, tree, int, bool *)
{
/* Ensure we have a function type. */
gcc_assert (TREE_CODE (*node) == FUNCTION_TYPE);
/* Handle a "returns_twice" attribute. */
static tree
-handle_returns_twice_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+handle_returns_twice_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL);
struct attribute_spec.handler. */
tree
-handle_fnspec_attribute (tree *node ATTRIBUTE_UNUSED, tree ARG_UNUSED (name),
- tree args, int ARG_UNUSED (flags),
- bool *no_add_attrs ATTRIBUTE_UNUSED)
+handle_fnspec_attribute (tree *, tree, tree args, int, bool *)
{
gcc_assert (args
&& TREE_CODE (TREE_VALUE (args)) == STRING_CST
struct attribute_spec.handler. */
static tree
-handle_always_inline_attribute (tree *node, tree ARG_UNUSED (name),
- tree ARG_UNUSED (args), int ARG_UNUSED (flags),
- bool *no_add_attrs ATTRIBUTE_UNUSED)
+handle_always_inline_attribute (tree *node, tree, tree, int, bool *)
{
gcc_assert (TREE_CODE (*node) == FUNCTION_DECL);
return NULL_TREE;
}
-/* Language specific attribute handlers. */
+/* Language specific attribute handlers.
+ These functions take the arguments:
+ (tree *node, tree name, tree args, int flags, bool *no_add_attrs) */
/* Handle a "noinline" attribute. */
static tree
-d_handle_noinline_attribute (tree *node, tree name,
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags), bool *no_add_attrs)
+d_handle_noinline_attribute (tree *node, tree name, tree, int,
+ bool *no_add_attrs)
{
Type *t = TYPE_LANG_FRONTEND (TREE_TYPE (*node));
/* Handle a "forceinline" attribute. */
static tree
-d_handle_forceinline_attribute (tree *node, tree name,
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags),
+d_handle_forceinline_attribute (tree *node, tree name, tree, int,
bool *no_add_attrs)
{
Type *t = TYPE_LANG_FRONTEND (TREE_TYPE (*node));
/* Handle a "flatten" attribute. */
static tree
-d_handle_flatten_attribute (tree *node, tree name,
- tree args ATTRIBUTE_UNUSED,
- int flags ATTRIBUTE_UNUSED, bool *no_add_attrs)
+d_handle_flatten_attribute (tree *node, tree name, tree, int,
+ bool *no_add_attrs)
{
Type *t = TYPE_LANG_FRONTEND (TREE_TYPE (*node));
/* Handle a "noclone" attribute. */
static tree
-d_handle_noclone_attribute (tree *node, tree name,
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags),
- bool *no_add_attrs)
+d_handle_noclone_attribute (tree *node, tree name, tree, int,
+ bool *no_add_attrs)
{
Type *t = TYPE_LANG_FRONTEND (TREE_TYPE (*node));
struct attribute_spec.handler. */
static tree
-d_handle_section_attribute (tree *node, tree ARG_UNUSED (name), tree args,
- int ARG_UNUSED (flags), bool *no_add_attrs)
+d_handle_section_attribute (tree *node, tree, tree args, int,
+ bool *no_add_attrs)
{
tree decl = *node;
struct attribute_spec.handler. */
static tree
-d_handle_alias_attribute (tree *node, tree ARG_UNUSED (name),
- tree args, int ARG_UNUSED (flags),
- bool *no_add_attrs ATTRIBUTE_UNUSED)
+d_handle_alias_attribute (tree *node, tree name, tree args, int,
+ bool *no_add_attrs)
{
tree decl = *node;
struct attribute_spec.handler. */
static tree
-d_handle_weak_attribute (tree *node, tree name,
- tree ARG_UNUSED (args),
- int ARG_UNUSED (flags),
- bool * ARG_UNUSED (no_add_attrs))
+d_handle_weak_attribute (tree *node, tree name, tree, int, bool *no_add_attrs)
{
if (TREE_CODE (*node) == FUNCTION_DECL
&& DECL_DECLARED_INLINE_P (*node))