https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79730
Bug ID: 79730 Summary: ICE tree check: expected var_decl, have function_decl in finish_decl, at c/c-decl.c:5063 Product: gcc Version: 7.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: gerhard.steinmetz.fort...@t-online.de Target Milestone: --- Affects versions down to 4.9 (configured with --enable-checking=yes) : $ cat z1.c register int x() asm ("x"); $ cat z2.c register float x() asm ("x()"); $ gcc-7-20170226 -c z1.c z1.c:1:14: error: invalid storage class for function 'x' register int x() asm ("x"); ^ z1.c:1:1: internal compiler error: tree check: expected var_decl, have function_decl in finish_decl, at c/c-decl.c:5063 register int x() asm ("x"); ^~~~~~~~ 0xea2fcc tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.c:9815 0x668f71 tree_check(tree_node*, char const*, int, char const*, tree_code) ../../gcc/tree.h:3064 0x668f71 finish_decl(tree_node*, unsigned int, tree_node*, tree_node*, tree_node*) ../../gcc/c/c-decl.c:5063 0x6cf8b6 c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:1971 0x6d87fb c_parser_external_declaration ../../gcc/c/c-parser.c:1468 0x6d9259 c_parser_translation_unit ../../gcc/c/c-parser.c:1348 0x6d9259 c_parse_file() ../../gcc/c/c-parser.c:18173 0x737b02 c_common_parse_file() ../../gcc/c-family/c-opts.c:1107