Bug in lto revision 149340 (gcc 4.5 revision 149291 works fine) The used command line: /usr/local/lto/bin/g++-lto -v -save-temps -O2 -fomit-frame-pointer -flto -DUNIX -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -Wno-uninitialized -W -Wno-unused-parameter -Wformat=2 -Wredundant-decls -fno-strict-aliasing -Wcast-qual -fno-strict-overflow -DWITH_SDL -I/usr/include/SDL -D_REENTRANT -DWITH_ZLIB -D_SQ64 -I/home/rubidium/openttd/special/lto/src/3rdparty/squirrel/include -DWITH_PNG -I/usr/include/libpng12 -DWITH_FONTCONFIG -DWITH_FREETYPE -I/usr/include/freetype2 -DWITH_ICU -D_REENTRANT -I/usr/include -DENABLE_NETWORK -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\".openttd\" -DGLOBAL_DATA_DIR=\"/usr/local/share/games/openttd\" -I /home/rubidium/openttd/special/lto/objs/release -I /home/rubidium/openttd/special/lto/objs/lang -c -o misc_gui.o /home/rubidium/openttd/special/lto/src/misc_gui.cpp
The output of the above line: Using built-in specs. COLLECT_GCC=/usr/local/lto/bin/g++-lto COLLECT_LTO_WRAPPER=/usr/local/lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: ../lto/configure --program-suffix=-lto --prefix=/usr/local/lto --enable-languages=c,c++ --enable-lto --enable-threads Thread model: posix gcc version 4.5.0 20090706 (experimental) (lto merged with rev 149291) COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-fomit-frame-pointer' '-flto' '-DUNIX' '-Wall' '-Wno-multichar' '-Wsign-compare' '-Wundef' '-Wwrite-strings' '-Wpointer-arith' '-Wno-uninitialized' '-W' '-Wno-unused-parameter' '-Wformat=2' '-Wredundant-decls' '-fno-strict-aliasing' '-Wcast-qual' '-fno-strict-overflow' '-DWITH_SDL' '-I/usr/include/SDL' '-D_REENTRANT' '-DWITH_ZLIB' '-D_SQ64' '-I/home/rubidium/openttd/special/lto/src/3rdparty/squirrel/include' '-DWITH_PNG' '-I/usr/include/libpng12' '-DWITH_FONTCONFIG' '-DWITH_FREETYPE' '-I/usr/include/freetype2' '-DWITH_ICU' '-D_REENTRANT' '-I/usr/include' '-DENABLE_NETWORK' '-DWITH_PERSONAL_DIR' '-DPERSONAL_DIR=".openttd"' '-DGLOBAL_DATA_DIR="/usr/local/share/games/openttd"' '-I' '/home/rubidium/openttd/special/lto/objs/release' '-I' '/home/rubidium/openttd/special/lto/objs/lang' '-c' '-o' 'misc_gui.o' '-shared-libgcc' '-mtune=generic' /usr/local/lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus -E -quiet -v -I/usr/include/SDL -I/home/rubidium/openttd/special/lto/src/3rdparty/squirrel/include -I/usr/include/libpng12 -I/usr/include/freetype2 -I/usr/include -I /home/rubidium/openttd/special/lto/objs/release -I /home/rubidium/openttd/special/lto/objs/lang -D_GNU_SOURCE -DUNIX -DWITH_SDL -D_REENTRANT -DWITH_ZLIB -D_SQ64 -DWITH_PNG -DWITH_FONTCONFIG -DWITH_FREETYPE -DWITH_ICU -D_REENTRANT -DENABLE_NETWORK -DWITH_PERSONAL_DIR -DPERSONAL_DIR=".openttd" -DGLOBAL_DATA_DIR="/usr/local/share/games/openttd" /home/rubidium/openttd/special/lto/src/misc_gui.cpp -mtune=generic -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -Wno-uninitialized -W -Wno-unused-parameter -Wformat=2 -Wredundant-decls -Wcast-qual -fomit-frame-pointer -flto -fno-strict-aliasing -fno-strict-overflow -O2 -fpch-preprocess -o misc_gui.ii ignoring nonexistent directory "/usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../x86_64-unknown-linux-gnu/include" ignoring duplicate directory "/usr/include" as it is a non-system directory that duplicates a system directory #include "..." search starts here: #include <...> search starts here: /usr/include/SDL /home/rubidium/openttd/special/lto/src/3rdparty/squirrel/include /usr/include/libpng12 /usr/include/freetype2 /home/rubidium/openttd/special/lto/objs/release /home/rubidium/openttd/special/lto/objs/lang /usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0 /usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/x86_64-unknown-linux-gnu /usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/../../../../include/c++/4.5.0/backward /usr/local/include /usr/local/lto/include /usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include /usr/local/lto/lib/gcc/x86_64-unknown-linux-gnu/4.5.0/include-fixed /usr/include End of search list. COLLECT_GCC_OPTIONS='-v' '-save-temps' '-O2' '-fomit-frame-pointer' '-flto' '-DUNIX' '-Wall' '-Wno-multichar' '-Wsign-compare' '-Wundef' '-Wwrite-strings' '-Wpointer-arith' '-Wno-uninitialized' '-W' '-Wno-unused-parameter' '-Wformat=2' '-Wredundant-decls' '-fno-strict-aliasing' '-Wcast-qual' '-fno-strict-overflow' '-DWITH_SDL' '-I/usr/include/SDL' '-D_REENTRANT' '-DWITH_ZLIB' '-D_SQ64' '-I/home/rubidium/openttd/special/lto/src/3rdparty/squirrel/include' '-DWITH_PNG' '-I/usr/include/libpng12' '-DWITH_FONTCONFIG' '-DWITH_FREETYPE' '-I/usr/include/freetype2' '-DWITH_ICU' '-D_REENTRANT' '-I/usr/include' '-DENABLE_NETWORK' '-DWITH_PERSONAL_DIR' '-DPERSONAL_DIR=".openttd"' '-DGLOBAL_DATA_DIR="/usr/local/share/games/openttd"' '-I' '/home/rubidium/openttd/special/lto/objs/release' '-I' '/home/rubidium/openttd/special/lto/objs/lang' '-c' '-o' 'misc_gui.o' '-shared-libgcc' '-mtune=generic' /usr/local/lto/libexec/gcc/x86_64-unknown-linux-gnu/4.5.0/cc1plus -fpreprocessed misc_gui.ii -quiet -dumpbase misc_gui.cpp -mtune=generic -auxbase-strip misc_gui.o -O2 -Wall -Wno-multichar -Wsign-compare -Wundef -Wwrite-strings -Wpointer-arith -Wno-uninitialized -W -Wno-unused-parameter -Wformat=2 -Wredundant-decls -Wcast-qual -version -fomit-frame-pointer -flto -fno-strict-aliasing -fno-strict-overflow -o misc_gui.s GNU C++ (lto merged with rev 149291) version 4.5.0 20090706 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20090706 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU C++ (lto merged with rev 149291) version 4.5.0 20090706 (experimental) (x86_64-unknown-linux-gnu) compiled by GNU C version 4.5.0 20090706 (experimental), GMP version 4.3.1, MPFR version 2.4.1-p2 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 1b221bba280fd5b5d5f51d82d51ad25c /home/rubidium/openttd/special/lto/src/misc_gui.cpp: In member function â__comp_dtor â: /home/rubidium/openttd/special/lto/src/misc_gui.cpp:590:44: internal compiler error: in expand_expr_real_1, at expr.c:7382 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. -- Summary: [ICE] expand_expr_real_1, at expr.c:7382 Product: gcc Version: lto Status: UNCONFIRMED Severity: normal Priority: P3 Component: lto AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rubidium at openttd dot org GCC build triplet: x86_64-unknown-linux-gnu GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: x86_64-unknown-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40681