Summary: | [4.8 Regression] internal compiler error: in push_reload, at reload.c:1360 | ||
---|---|---|---|
Product: | gcc | Reporter: | Peter Stegemann <peter> |
Component: | other | Assignee: | 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 |
Doesn't look like a C++ front-end issue (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 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
GCC 4.8.3 is being released, adjusting target milestone. GCC 4.8.4 has been released. Fixed for 4.9.0. |
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)