https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86670
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-07-25 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. The decl becomes <var_decl 0x7ffff7fefe10 a type <array_type 0x7ffff69bf738 type <integer_type 0x7ffff68a75e8 int public SI size <integer_cst 0x7ffff688ff30 constant 32> unit-size <integer_cst 0x7ffff688ff48 constant 4> align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff68a75e8 precision:32 min <integer_cst 0x7ffff688fee8 -2147483648> max <integer_cst 0x7ffff688ff00 2147483647> pointer_to_this <pointer_type 0x7ffff68afa80>> BLK align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff69bf738> used static external read preserve BLK defer-output t.c:1:12 align:32 warn_if_not_align:0 attributes <tree_list 0x7ffff69bc780 purpose <identifier_node 0x7ffff69cfe10 used>>> so is STATIC EXTERNAL. That means somehow grokdeclarator goes wrong.