[Bug c/87426] New: c_parser_unary_expression ICE
SztfG at yandex dot ru
gcc-bugzilla@gcc.gnu.org
Mon Sep 24 20:32:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87426
Bug ID: 87426
Summary: c_parser_unary_expression ICE
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: SztfG at yandex dot ru
Target Milestone: ---
testcase:
#include <stdio.h>
#include <inttypes.h>
//#include <stdlib.h>
static const uint32_t pow2[511] ={ 0 }; // doesnt matter
#define SQR(x) pow2[x]
uint16_t mul8b(uint8_t a, uint8_t b)
{
return (SQR((uint16_t)a+(uint16_t)b) - SQR(abs((int16_t)a-(int16_t)b))) >>
2;;
}
prog.c: In function 'mul8b':
prog.c:12:46: warning: implicit declaration of function 'abs'
[-Wimplicit-function-declaration]
12 | return (SQR((uint16_t)a+(uint16_t)b) - SQR(abs((int16_t)a-(int16_t)b)))
>> 2;;
| ^~~
prog.c:8:21: note: in definition of macro 'SQR'
8 | #define SQR(x) pow2[x]
| ^
prog.c:12:3: internal compiler error: Segmentation fault
12 | return (SQR((uint16_t)a+(uint16_t)b) - SQR(abs((int16_t)a-(int16_t)b)))
>> 2;;
| ^~~~~~
0xa31cbf crash_signal
../../source/gcc/toplev.c:325
0x5f8606 warn_for_abs
../../source/gcc/c/c-parser.c:9226
0x5f8606 c_parser_postfix_expression_after_primary
../../source/gcc/c/c-parser.c:9318
0x5ea523 c_parser_postfix_expression
../../source/gcc/c/c-parser.c:9006
0x5f2f27 c_parser_unary_expression
../../source/gcc/c/c-parser.c:7266
0x5f416f c_parser_cast_expression
../../source/gcc/c/c-parser.c:7110
0x5f43e6 c_parser_binary_expression
../../source/gcc/c/c-parser.c:6913
0x5f52f5 c_parser_conditional_expression
../../source/gcc/c/c-parser.c:6647
0x5f5830 c_parser_expr_no_commas
../../source/gcc/c/c-parser.c:6564
0x5f5a82 c_parser_expression
../../source/gcc/c/c-parser.c:9460
0x5f7fb7 c_parser_postfix_expression_after_primary
../../source/gcc/c/c-parser.c:9272
0x5ea523 c_parser_postfix_expression
../../source/gcc/c/c-parser.c:9006
0x5f2f27 c_parser_unary_expression
../../source/gcc/c/c-parser.c:7266
0x5f416f c_parser_cast_expression
../../source/gcc/c/c-parser.c:7110
0x5f4580 c_parser_binary_expression
../../source/gcc/c/c-parser.c:7036
0x5f52f5 c_parser_conditional_expression
../../source/gcc/c/c-parser.c:6647
0x5f5830 c_parser_expr_no_commas
../../source/gcc/c/c-parser.c:6564
0x5f5a82 c_parser_expression
../../source/gcc/c/c-parser.c:9460
0x5ea67b c_parser_postfix_expression
../../source/gcc/c/c-parser.c:7968
0x5f2f27 c_parser_unary_expression
../../source/gcc/c/c-parser.c:7266
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.
More information about the Gcc-bugs
mailing list