BTW, we should swap handler and affects_type_identity fields at some point,
3 bools, then pointer, then bool, then pointer needs quite a lot of padding.
2017-12-08 Jakub Jelinek <ja...@redhat.com>
* config/arc/arc.c (arc_attribute_table): Add exclusions to
the comment.
* config/avr/avr.c (avr_attribute_table): Likewise.
* config/msp430/msp430.c (msp430_attribute_table): Likewise.
* config/rl78/rl78.c (rl78_attribute_table): Likewise.
* config/nds32/nds32.c (nds32_attribute_table): Likewise.
* config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Initialize new member
of struct attribute_spec.
* config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise.
ada/
* gcc-interface/utils.c (gnat_internal_attribute_table): Add
exclusions to the comment.
brig/
* brig-lang.c (brig_attribute_table): Fix up comment.
--- gcc/config/arc/arc.c.jj 2017-12-07 18:05:03.000000000 +0100
+++ gcc/config/arc/arc.c 2017-12-08 11:20:24.605501619 +0100
@@ -218,7 +218,7 @@ static tree arc_handle_fndecl_attribute
const struct attribute_spec arc_attribute_table[] =
{
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity } */
+ affects_type_identity, exclusions } */
{ "interrupt", 1, 1, true, false, false, arc_handle_interrupt_attribute,
true, NULL },
/* Function calls made to this symbol must be done indirectly, because
--- gcc/config/avr/avr.c.jj 2017-12-07 18:05:02.000000000 +0100
+++ gcc/config/avr/avr.c 2017-12-08 11:24:32.270391537 +0100
@@ -9875,7 +9875,7 @@ static const struct attribute_spec
avr_attribute_table[] =
{
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity } */
+ affects_type_identity, exclusions } */
{ "progmem", 0, 0, false, false, false, avr_handle_progmem_attribute,
false, NULL },
{ "signal", 0, 0, true, false, false, avr_handle_fndecl_attribute,
--- gcc/config/darwin.h.jj 2017-11-28 12:11:41.000000000 +0100
+++ gcc/config/darwin.h 2017-12-08 11:18:05.866243854 +0100
@@ -741,11 +741,11 @@ extern GTY(()) section * darwin_sections
/* Extra attributes for Darwin. */
#define SUBTARGET_ATTRIBUTE_TABLE \
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler, \
- affects_type_identity } */
\
+ affects_type_identity, exclusions } */ \
{ "apple_kext_compatibility", 0, 0, false, true, false, \
- darwin_handle_kext_attribute, false }, \
+ darwin_handle_kext_attribute, false, NULL }, \
{ "weak_import", 0, 0, true, false, false, \
- darwin_handle_weak_import_attribute, false }
+ darwin_handle_weak_import_attribute, false, NULL }
/* Make local constant labels linker-visible, so that if one follows a
weak_global constant, ld64 will be able to separate the atoms. */
--- gcc/config/i386/cygming.h.jj 2017-10-30 12:02:35.000000000 +0100
+++ gcc/config/i386/cygming.h 2017-12-08 11:25:12.372887945 +0100
@@ -448,9 +448,9 @@ do { \
#define SUBTARGET_ATTRIBUTE_TABLE \
{ "selectany", 0, 0, true, false, false, ix86_handle_selectany_attribute, \
- false }
+ false, NULL }
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity } */
+ affects_type_identity, exclusions } */
/* mcount() does not need a counter variable. */
#undef NO_PROFILE_COUNTERS
--- gcc/config/msp430/msp430.c.jj 2017-12-07 18:05:03.000000000 +0100
+++ gcc/config/msp430/msp430.c 2017-12-08 11:26:47.634691684 +0100
@@ -2050,7 +2050,7 @@ msp430_data_attr (tree * node,
const struct attribute_spec msp430_attribute_table[] =
{
/* Name min_num_args type_req, affects_type_identity
- max_num_args, fn_type_req
+ max_num_args, fn_type_req exclusions
decl_req handler. */
{ ATTR_INTR, 0, 1, true, false, false, msp430_attr, false, NULL },
{ ATTR_NAKED, 0, 0, true, false, false, msp430_attr, false, NULL },
--- gcc/config/rl78/rl78.c.jj 2017-12-07 18:05:03.000000000 +0100
+++ gcc/config/rl78/rl78.c 2017-12-08 11:27:25.024222160 +0100
@@ -858,7 +858,7 @@ rl78_handle_saddr_attribute (tree * node
const struct attribute_spec rl78_attribute_table[] =
{
/* Name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity. */
+ affects_type_identity, exclusions. */
{ "interrupt", 0, 0, true, false, false, rl78_handle_func_attribute,
false, NULL },
{ "brk_interrupt", 0, 0, true, false, false, rl78_handle_func_attribute,
--- gcc/config/nds32/nds32.c.jj 2017-12-07 18:05:02.000000000 +0100
+++ gcc/config/nds32/nds32.c 2017-12-08 11:27:54.160856273 +0100
@@ -83,7 +83,8 @@ static const char * const nds32_intrinsi
static const struct attribute_spec nds32_attribute_table[] =
{
/* Syntax: { name, min_len, max_len, decl_required, type_required,
- function_type_required, handler, affects_type_identity } */
+ function_type_required, handler, affects_type_identity,
+ exclusions } */
/* The interrupt vid: [0-63]+ (actual vector number starts from 9 to 72). */
{ "interrupt", 1, 64, false, false, false, NULL, false, NULL },
--- gcc/ada/gcc-interface/utils.c.jj 2017-12-07 18:04:59.000000000 +0100
+++ gcc/ada/gcc-interface/utils.c 2017-12-08 11:29:11.796881349 +0100
@@ -108,7 +108,7 @@ static tree fake_attribute_handler (tree
const struct attribute_spec gnat_internal_attribute_table[] =
{
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- affects_type_identity } */
+ affects_type_identity, exclusions } */
{ "const", 0, 0, true, false, false, handle_const_attribute,
false, NULL },
{ "nothrow", 0, 0, true, false, false, handle_nothrow_attribute,
--- gcc/brig/brig-lang.c.jj 2017-12-07 18:04:55.000000000 +0100
+++ gcc/brig/brig-lang.c 2017-12-08 12:20:40.475998143 +0100
@@ -448,7 +448,7 @@ brig_localize_identifier (const char *id
const struct attribute_spec brig_attribute_table[] =
{
/* { name, min_len, max_len, decl_req, type_req, fn_type_req, handler,
- do_diagnostic } */
+ affects_type_identity, exclusions } */
{ "leaf", 0, 0, true, false, false,
handle_leaf_attribute, false, NULL },
{ "const", 0, 0, true, false, false,
Jakub