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.