https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87347
Bug ID: 87347 Summary: ICE in warn_for_abs at gcc/c/c-parser.c:9226 since r264368 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org Target Milestone: --- I see some ICEs happening: $ cat ice.i int a; int abs(); void b() { abs(a); } $ gcc ice.i -Wabsolute-value -c ice.i: In function ‘b’: ice.i:3:1: internal compiler error: Segmentation fault 3 | void b() { abs(a); } | ^~~~ 0xce366f crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:325 0x7ffff6bc310f ??? /usr/src/debug/glibc-2.27-6.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x7f2113 tree_check(tree_node*, char const*, int, char const*, tree_code) /home/marxin/Programming/gcc/gcc/tree.h:3112 0x7f2113 warn_for_abs /home/marxin/Programming/gcc/gcc/c/c-parser.c:9226 0x7f2113 c_parser_postfix_expression_after_primary /home/marxin/Programming/gcc/gcc/c/c-parser.c:9318 0x7e1c47 c_parser_postfix_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:9006 0x7ebb82 c_parser_unary_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:7266 0x7ec9ff c_parser_cast_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:7110 0x7ecc73 c_parser_binary_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:6913 0x7edb35 c_parser_conditional_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:6647 0x7ee160 c_parser_expr_no_commas /home/marxin/Programming/gcc/gcc/c/c-parser.c:6564 0x7ee3b2 c_parser_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:9460 0x7f0476 c_parser_expression_conv /home/marxin/Programming/gcc/gcc/c/c-parser.c:9493 0x7fc170 c_parser_statement_after_labels /home/marxin/Programming/gcc/gcc/c/c-parser.c:5542 0x7fdf7e c_parser_compound_statement_nostart /home/marxin/Programming/gcc/gcc/c/c-parser.c:5080 0x7fe6c6 c_parser_compound_statement /home/marxin/Programming/gcc/gcc/c/c-parser.c:4914 0x7ffdb4 c_parser_declaration_or_fndef /home/marxin/Programming/gcc/gcc/c/c-parser.c:2342 0x80675f c_parser_external_declaration /home/marxin/Programming/gcc/gcc/c/c-parser.c:1643 0x806f99 c_parser_translation_unit /home/marxin/Programming/gcc/gcc/c/c-parser.c:1524 0x806f99 c_parse_file() /home/marxin/Programming/gcc/gcc/c/c-parser.c:18538 $ cat ice.c void a(void) { abs(0); } $ gcc -Wabsolute-value ice.c -c ice.c: In function ‘a’: ice.c:1:16: warning: implicit declaration of function ‘abs’ [-Wimplicit-function-declaration] 1 | void a(void) { abs(0); } | ^~~ ice.c:1:1: internal compiler error: Segmentation fault 1 | void a(void) { abs(0); } | ^~~~ 0xce366f crash_signal /home/marxin/Programming/gcc/gcc/toplev.c:325 0x7ffff6bc310f ??? /usr/src/debug/glibc-2.27-6.1.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0 0x7f2113 tree_check(tree_node*, char const*, int, char const*, tree_code) /home/marxin/Programming/gcc/gcc/tree.h:3112 0x7f2113 warn_for_abs /home/marxin/Programming/gcc/gcc/c/c-parser.c:9226 0x7f2113 c_parser_postfix_expression_after_primary /home/marxin/Programming/gcc/gcc/c/c-parser.c:9318 0x7e1c47 c_parser_postfix_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:9006 0x7ebb82 c_parser_unary_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:7266 0x7ec9ff c_parser_cast_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:7110 0x7ecc73 c_parser_binary_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:6913 0x7edb35 c_parser_conditional_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:6647 0x7ee160 c_parser_expr_no_commas /home/marxin/Programming/gcc/gcc/c/c-parser.c:6564 0x7ee3b2 c_parser_expression /home/marxin/Programming/gcc/gcc/c/c-parser.c:9460 0x7f0476 c_parser_expression_conv /home/marxin/Programming/gcc/gcc/c/c-parser.c:9493 0x7fc170 c_parser_statement_after_labels /home/marxin/Programming/gcc/gcc/c/c-parser.c:5542 0x7fdf7e c_parser_compound_statement_nostart /home/marxin/Programming/gcc/gcc/c/c-parser.c:5080 0x7fe6c6 c_parser_compound_statement /home/marxin/Programming/gcc/gcc/c/c-parser.c:4914 0x7ffdb4 c_parser_declaration_or_fndef /home/marxin/Programming/gcc/gcc/c/c-parser.c:2342 0x80675f c_parser_external_declaration /home/marxin/Programming/gcc/gcc/c/c-parser.c:1643 0x806f99 c_parser_translation_unit /home/marxin/Programming/gcc/gcc/c/c-parser.c:1524 0x806f99 c_parse_file() /home/marxin/Programming/gcc/gcc/c/c-parser.c:18538