https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94346

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code

--- Comment #2 from Martin Sebor <msebor at gcc dot gnu.org> ---
diag_attr_exclusions() expects either a DECL or a TYPE but here it gets an
expression:

$ gcc -S pr94346.c
pr94346.c:8:33: internal compiler error: tree check: expected class ‘type’,
have ‘expression’ (compound_expr) in diag_attr_exclusions, at attribs.c:396
    8 |   ATTR (copy ((bar (), ((struct A *)(0))[0]))) int m;
      |                                 ^
pr94346.c:1:35: note: in definition of macro ‘ATTR’
    1 | #define ATTR(...) __attribute__ ((__VA_ARGS__))
      |                                   ^~~~~~~~~~~
0x16c3530 tree_class_check_failed(tree_node const*, tree_code_class, char
const*, int, char const*)
        /src/gcc/trunk/gcc/tree.c:9745
0x8c8271 tree_class_check(tree_node*, tree_code_class, char const*, int, char
const*)
        /src/gcc/trunk/gcc/tree.h:3401
0x8c1c5c diag_attr_exclusions
        /src/gcc/trunk/gcc/attribs.c:396
0x8c1b67 diag_attr_exclusions
        /src/gcc/trunk/gcc/attribs.c:379
0x8c2b75 decl_attributes(tree_node**, tree_node*, int, tree_node*)
        /src/gcc/trunk/gcc/attribs.c:694
0xa45e02 handle_copy_attribute
        /src/gcc/trunk/gcc/c-family/c-attribs.c:2628
0x8c2c55 decl_attributes(tree_node**, tree_node*, int, tree_node*)
        /src/gcc/trunk/gcc/attribs.c:713
0x95422d c_parser_struct_declaration
        /src/gcc/trunk/gcc/c/c-parser.c:3620
0x953a6b c_parser_struct_or_union_specifier
        /src/gcc/trunk/gcc/c/c-parser.c:3413
0x9528fb c_parser_declspecs(c_parser*, c_declspecs*, bool, bool, bool, bool,
bool, bool, bool, c_lookahead_kind)
        /src/gcc/trunk/gcc/c/c-parser.c:2962
0x95031f c_parser_declaration_or_fndef
        /src/gcc/trunk/gcc/c/c-parser.c:1960
0x94fe3c c_parser_external_declaration
        /src/gcc/trunk/gcc/c/c-parser.c:1745
0x94f95d c_parser_translation_unit
        /src/gcc/trunk/gcc/c/c-parser.c:1618
0x98da25 c_parse_file()
        /src/gcc/trunk/gcc/c/c-parser.c:21718
0xa19299 c_common_parse_file()
        /src/gcc/trunk/gcc/c-family/c-opts.c:1186
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to