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