[Bug c/53375] [AVR] Internal compiler error when O1 or Os are active

ruka.araujo at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 16 11:26:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53375

--- Comment #1 from Rui Araújo <ruka.araujo at gmail dot com> 2012-05-16 11:24:50 UTC ---
When running:
 avr-gcc -v -save-temps  -Wall -g3 -Os -fpack-struct -fshort-enums -std=gnu99
-funsigned-char -funsigned-bitfields -gdwarf-2 -mmcu=atmega8 -DF_CPU=14745600UL
 -c -o scheduler.o scheduler.c

I get this error:

scheduler.c:189:1: internal compiler error: in propagate_rtx, at fwprop.c:684


The output in the console is:
$ avr-gcc -v -save-temps  -Wall -g3 -Os -fpack-struct -fshort-enums -std=gnu99
-funsigned-char -funsigned-bitfields -gdwarf-2 -mmcu=atmega8 -DF_CPU=14745600UL
 -c -o scheduler.o scheduler.c

Using built-in specs.
COLLECT_GCC=avr-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/avr/4.5.3/lto-wrapper
Target: avr
Configured with: ../src/configure -v --enable-languages=c,c++ --prefix=/usr/lib
--infodir=/usr/share/info --mandir=/usr/share/man --bindir=/usr/bin
--libexecdir=/usr/lib --libdir=/usr/lib --enable-shared --with-system-zlib
--enable-long-long --enable-nls --without-included-gettext --disable-libssp
--build=i686-linux-gnu --host=i686-linux-gnu --target=avr
Thread model: single
gcc version 4.5.3 (GCC) 
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-g3' '-Os' '-fpack-struct'
'-fshort-enums' '-std=gnu99' '-funsigned-char' '-funsigned-bitfields'
'-gdwarf-2' '-mmcu=atmega8' '-DF_CPU=14745600UL' '-c' '-o' 'scheduler.o'
 /usr/lib/gcc/avr/4.5.3/cc1 -E -quiet -v -imultilib avr4 -dD -DF_CPU=14745600UL
scheduler.c -mmcu=atmega8 -std=gnu99 -Wall -fpack-struct -fshort-enums
-funsigned-char -funsigned-bitfields -g3 -gdwarf-2 -fworking-directory -Os
-fpch-preprocess -o scheduler.i
ignoring nonexistent directory
"/usr/lib/gcc/avr/4.5.3/../../../avr/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/avr/4.5.3/include
 /usr/lib/gcc/avr/4.5.3/include-fixed
 /usr/lib/gcc/avr/4.5.3/../../../avr/include
End of search list.
COLLECT_GCC_OPTIONS='-v' '-save-temps' '-Wall' '-g3' '-Os' '-fpack-struct'
'-fshort-enums' '-std=gnu99' '-funsigned-char' '-funsigned-bitfields'
'-gdwarf-2' '-mmcu=atmega8' '-DF_CPU=14745600UL' '-c' '-o' 'scheduler.o'
 /usr/lib/gcc/avr/4.5.3/cc1 -fpreprocessed scheduler.i -quiet -dumpbase
scheduler.c -mmcu=atmega8 -auxbase-strip scheduler.o -g3 -gdwarf-2 -Os -Wall
-std=gnu99 -version -fpack-struct -fshort-enums -funsigned-char
-funsigned-bitfields -o scheduler.s
GNU C (GCC) version 4.5.3 (avr)
    compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.1.0-p3,
MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
GNU C (GCC) version 4.5.3 (avr)
    compiled by GNU C version 4.6.2, GMP version 5.0.2, MPFR version 3.1.0-p3,
MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 591284b680435834ad2fbe6642ff4fee
scheduler.c:34:17: warning: ‘tick_counter’ defined but not used
scheduler.c: In function ‘switch_task’:
scheduler.c:189:1: internal compiler error: in propagate_rtx, at fwprop.c:684
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


This only happens with Os and O1. With O2 and O3 there is no error.



More information about the Gcc-bugs mailing list