Bug 58375

Summary: [4.8 Regression] internal compiler error: in push_reload, at reload.c:1360
Product: gcc Reporter: Peter Stegemann <peter>
Component: otherAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: amylaar, gjl
Priority: P4 Keywords: ice-on-valid-code, ra
Version: 4.8.1   
Target Milestone: 4.9.0   
Host: Target: avr
Build: Known to work: 4.7.2, 4.9.0
Known to fail: 4.8.5 Last reconfirmed: 2013-09-10 00:00:00
Bug Depends on:    
Bug Blocks: 56183    
Attachments: The culprit
Channel.cpp C++ source

Description Peter Stegemann 2013-09-09 22:03:17 UTC
Created attachment 30778 [details]
The culprit

-------- begin --------
avr-gcc-4.8.1 (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Compiling C++: Source/Channel.cpp
avr-gcc-4.8.1 -c -mmcu=atmega2561 -I. -x c++ -include Setup.h -g -DF_CPU=14745600UL  -DSYSTEM_VERSION= -DSYSTEM_MODE= -DSYSTEM_STATUS_DISPLAY_MODE= -Os -funsigned-char -funsigned-bitfields -fpack-struct -fcheck-new -fshort-enums -fno-exceptions -fno-rtti -Wall -ISource -MMD -MP -MF .dep/Channel.o.d Source/Channel.cpp -o obj/Source/Channel.o 
Source/Channel.cpp: In member function 'virtual void Screen_Setup_Channel::display()':
Source/Channel.cpp:44:1: internal compiler error: in push_reload, at reload.c:1360
 }
 ^
libbacktrace could not find executable to open


See the attached condensed project - slight changes in the source remove the problem.

$ avr-gcc-4.8.1 -v
Using built-in specs.
COLLECT_GCC=avr-gcc-4.8.1
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/avr/4.8.1/lto-wrapper
Target: avr
Configured with: ../configure --target=avr --with-gmp=/opt/local/ --disable-nls --enable-languages=c,c++ : (reconfigured) ../configure --program-suffix=-4.8.1 --target=avr --with-gmp=/opt/local/ --disable-nls --disable-libssp --enable-languages=c,c++
Thread model: single
gcc version 4.8.1 (GCC)
Comment 1 Paolo Carlini 2013-09-09 22:05:48 UTC
Doesn't look like a C++ front-end issue
Comment 2 Georg-Johann Lay 2013-09-10 08:44:06 UTC
(In reply to Peter Stegemann from comment #0)
> The culprit

Would you please add a minimal test case / preprocessed file and avoid zip files as explained in the bug reporting hints.  Thanks.

http://gcc.gnu.org/bugs/#need
http://gcc.gnu.org/bugs/#detailed
Comment 3 Georg-Johann Lay 2013-09-10 17:26:18 UTC
Created attachment 30792 [details]
Channel.cpp C++ source

Confirmed with this source, looks like a register allocator issue.

$ avr-g++ Channel.cpp -mmcu=atmega2561 -Os  -c -v

Target: avr
Configured with: ../../gcc.gnu.org/trunk/configure --target=avr --prefix=/local/gnu/install/gcc-4.8-mingw32 --host=i386-mingw32 --build=i686-linux-gnu --enable-languages=c,c++ --disable-nls --disable-shared --with-dwarf2
Thread model: single
gcc version 4.8.0 20130306 (experimental) (GCC) 

GNU C++ (GCC) version 4.8.0 20130306 (experimental) (avr)
	compiled by GNU C version 3.4.5 (mingw-vista special r2), GMP version 4.3.2, MPFR version 2.4.2, MPC version 0.8.2

Channel.cpp: In member function 'virtual void Screen_Setup_Channel::display()':
Channel.cpp:101:1: internal compiler error: in push_reload, at reload.c:1360
 }
 ^

Channel.cpp:101:1: internal compiler error: Segmentation fault
Comment 4 Richard Biener 2014-05-22 09:04:57 UTC
GCC 4.8.3 is being released, adjusting target milestone.
Comment 5 Jakub Jelinek 2014-12-19 13:30:20 UTC
GCC 4.8.4 has been released.
Comment 6 Richard Biener 2015-06-23 08:40:28 UTC
Fixed for 4.9.0.