This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/71873] New: ICE in push_reload
- From: "saaadhu at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 14 Jul 2016 07:09:44 +0000
- Subject: [Bug target/71873] New: ICE in push_reload
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71873
Bug ID: 71873
Summary: ICE in push_reload
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: saaadhu at gcc dot gnu.org
Target Milestone: ---
The following testcase causes an ICE in push_reload when compiled with
$ cat test.c
#include <stdint.h>
typedef struct {
uint8_t x;
uint32_t y;
} A;
A a;
extern int bar(int);
extern int foo (char *s, ...);
extern uint8_t param;
extern uint8_t h,m,s,ld,lm;
extern uint16_t d;
void gps_parse_string(int z)
{
while (bar(z))
{
switch (param)
{
case 0: foo("a", &h, &m, &s, &d); break;
case 1: foo("d", &ld, &lm, &a.y); break;
}
}
}
$ avr-gcc -Os -mmcu=atmega8 -S test.c
test.c: In function 'gps_parse_string':
test.c:27:1: internal compiler error: in push_reload, at reload.c:1349
}
^
0xd8feb0 push_reload(rtx_def*, rtx_def*, rtx_def**, rtx_def**, reg_class,
machine_mode, machine_mode, int, int, int, reload_type)
/home/saaadhu/code/work/gcc/gcc/reload.c:1348
0xd8f760 push_reload(rtx_def*, rtx_def*, rtx_def**, rtx_def**, reg_class,
machine_mode, machine_mode, int, int, int, reload_type)
/home/saaadhu/code/work/gcc/gcc/reload.c:1155
0xd97e86 find_reloads(rtx_insn*, int, int, int, short*)
/home/saaadhu/code/work/gcc/gcc/reload.c:4035
0xda58d4 calculate_needs_all_insns
/home/saaadhu/code/work/gcc/gcc/reload1.c:1483
0xda4018 reload(rtx_insn*, int)
/home/saaadhu/code/work/gcc/gcc/reload1.c:995
0xc0865e do_reload
/home/saaadhu/code/work/gcc/gcc/ira.c:5396
0xc08a46 execute
/home/saaadhu/code/work/gcc/gcc/ira.c:5568
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
Might be a duplicate of PR 67031, but the testcases there do not cause an ICE
on trunk (gcc version 7.0.0 20160704), but the above one does.