https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93577
--- Comment #1 from Yongheng Chen <changochen1 at gmail dot com> --- Stack dump: --- tt.c: In function ‘main’: tt.c:2:48: warning: implicit declaration of function ‘f’ [-Wimplicit-function-declaration] 2 | struct s { int x [ 16 == ( ( ( sizeof ( ( 3 , f ( ) > 1000 < 5000 < 2 ) ) / 2 ) != x > ( 6 / 3 / 2 ) ) ) ] ; | ^ tt.c:2:90: warning: comparison between pointer and integer 2 | struct s { int x [ 16 == ( ( ( sizeof ( ( 3 , f ( ) > 1000 < 5000 < 2 ) ) / 2 ) != x > ( 6 / 3 / 2 ) ) ) ] ; | ^ tt.c:14:3: error: variable-sized object may not be initialized 14 | } g_207 = { 1 , 2 , 3 } ; | ^ tt.c:14:15: warning: excess elements in array initializer 14 | } g_207 = { 1 , 2 , 3 } ; | ^ tt.c:14:15: note: (near initialization for ‘g_207.x’) tt.c:14:3: internal compiler error: tree check: expected integer_cst, have non_lvalue_expr in get_len, at tree.h:5902 14 | } g_207 = { 1 , 2 , 3 } ; | ^ 0x760c33 tree_check_failed(tree_node const*, char const*, int, char const*, ...) ../../gcc/tree.c:9685 0x82393a tree_check(tree_node const*, char const*, int, char const*, tree_code) ../../gcc/tree.h:3534 0x82393a wi::extended_tree<192>::get_len() const ../../gcc/tree.h:5902 0x82393a wi::int_traits<generic_wide_int<wi::extended_tree<192> > >::decompose(long*, unsigned int, generic_wide_int<wi::extended_tree<192> > const&) ../../gcc/wide-int.h:985 0x82393a wide_int_ref_storage<true, false>::wide_int_ref_storage<generic_wide_int<wi::extended_tree<192> > >(generic_wide_int<wi::extended_tree<192> > const&, unsigned int) ../../gcc/wide-int.h:1034 0x82393a generic_wide_int<wide_int_ref_storage<true, false> >::generic_wide_int<generic_wide_int<wi::extended_tree<192> > >(generic_wide_int<wi::extended_tree<192> > const&, unsigned int) ../../gcc/wide-int.h:790 0x82393a bool wi::lts_p<generic_wide_int<wi::extended_tree<192> >, generic_wide_int<wi::extended_tree<192> > >(generic_wide_int<wi::extended_tree<192> > const&, generic_wide_int<wi::extended_tree<192> > const&) ../../gcc/wide-int.h:1901 0x836cb2 wi::binary_traits<generic_wide_int<wi::extended_tree<192> >, generic_wide_int<wi::extended_tree<192> >, wi::int_traits<generic_wide_int<wi::extended_tree<192> > >::precision_type, wi::int_traits<generic_wide_int<wi::ex$ended_tree<192> > >::precision_type>::signed_predicate_result operator< <generic_wide_int<wi::extended_tree<192> >, generic_wide_int<wi::extended_tree<192> > >(generic_wide_int<wi::extended_tree<192> > const&, generic_wide_int<$i::extended_tree<192> > const&) ../../gcc/wide-int.h:3248 0x836cb2 tree_int_cst_lt(tree_node const*, tree_node const*) ../../gcc/tree.h:6058 0x836cb2 find_init_member ../../gcc/c/c-typeck.c:9434 0x836dde push_init_level(unsigned int, int, obstack*) ../../gcc/c/c-typeck.c:8433 0x8444d7 process_init_element(unsigned int, c_expr, bool, obstack*) ../../gcc/c/c-typeck.c:10200 0x86614f c_parser_initval ../../gcc/c/c-parser.c:5533 0x866410 c_parser_initelt ../../gcc/c/c-parser.c:5505 0x866410 c_parser_braced_init ../../gcc/c/c-parser.c:5273 0x8674b3 c_parser_initializer ../../gcc/c/c-parser.c:5221 0x879bf3 c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2249 0x85cec7 c_parser_compound_statement_nostart ../../gcc/c/c-parser.c:5713 0x879348 c_parser_compound_statement ../../gcc/c/c-parser.c:5616 0x87adcb c_parser_declaration_or_fndef ../../gcc/c/c-parser.c:2504 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. ---