[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #18 from alexey at feldgendler dot ru 2010-09-02 14:51 --- Further research: the LTO pass on either the affected or unaffected installation fails if one or both .s files come from the affected installation, but succeeds with both .s files from the unaffected installation. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #17 from rguenth at gcc dot gnu dot org 2010-09-02 14:46 --- Created an attachment (id=21668) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21668&action=view) working one -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #16 from rguenth at gcc dot gnu dot org 2010-09-02 14:45 --- Created an attachment (id=21667) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21667&action=view) working one -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #15 from alexey at feldgendler dot ru 2010-09-02 14:43 --- Created an attachment (id=21666) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21666&action=view) Assembly for 1.cpp Re-uploaded 1.s. -- alexey at feldgendler dot ru changed: What|Removed |Added Attachment #21657|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #14 from alexey at feldgendler dot ru 2010-09-02 14:40 --- Created an attachment (id=21665) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21665&action=view) Assembly for 2.cpp Re-uploaded 2.s. -- alexey at feldgendler dot ru changed: What|Removed |Added Attachment #21658|0 |1 is obsolete|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #13 from rguenth at gcc dot gnu dot org 2010-09-02 12:56 --- It works for me on x86_64-linux-gnu. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #12 from alexey at feldgendler dot ru 2010-09-02 12:13 --- Could it be specific to x86_64-linux-gnu? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #11 from alexey at feldgendler dot ru 2010-09-02 12:04 --- Attached cgraph dump from "/usr/lib/gcc/x86_64-linux-gnu/4.5.1/lto1 -fdump-ipa-cgraph 1.o 2.o". For some reason, though, lto1 creates only one dump file, and that only covers its first input infile. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #10 from alexey at feldgendler dot ru 2010-09-02 11:59 --- Created an attachment (id=21662) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21662&action=view) -fdump-ipa-cgraph from LTO pass -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #9 from alexey at feldgendler dot ru 2010-09-02 11:57 --- Output of lto1 without -quiet: $ /usr/lib/gcc/x86_64-linux-gnu/4.5.1/lto1 1.o 2.o Performing interprocedural optimizations Assembling functions: main Execution times (seconds) TOTAL : 0.00 0.00 0.01 1138 kB -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #8 from alexey at feldgendler dot ru 2010-09-02 11:40 --- Attached assembler files generated for 1.cpp and 2.cpp, as well as the assembler file generated by the LTO pass. As can be seen from the latter, _Z6callmev is referenced but not defined. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #7 from alexey at feldgendler dot ru 2010-09-02 11:38 --- Created an attachment (id=21660) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21660&action=view) Assembly after LTO for entire program -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #6 from rguenth at gcc dot gnu dot org 2010-09-02 11:38 --- It works for me with 4.5.0, 4.5.1 and current trunk. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #5 from alexey at feldgendler dot ru 2010-09-02 11:35 --- Created an attachment (id=21658) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21658&action=view) Assembly for 2.cpp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #4 from alexey at feldgendler dot ru 2010-09-02 11:35 --- Created an attachment (id=21657) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21657&action=view) Assembly for 1.cpp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #3 from alexey at feldgendler dot ru 2010-09-02 11:31 --- Output of "gcc-4.5 -v 1.cpp 2.cpp": $ g++-4.5 -v -flto 1.cpp 2.cpp Using built-in specs. COLLECT_GCC=g++-4.5 COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.5.1/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 4.5.1-2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --with-plugin-ld=ld.gold --enable-objc-gc --with-arch-32=i586 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 4.5.1 (Debian 4.5.1-2) COLLECT_GCC_OPTIONS='-v' '-flto' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.5.1/cc1plus -quiet -v -D_GNU_SOURCE 1.cpp -quiet -dumpbase 1.cpp -mtune=generic -march=x86-64 -auxbase 1 -version -flto -o /tmp/ccTWKMfh.s GNU C++ (Debian 4.5.1-2) version 4.5.1 (x86_64-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 warning: GMP header version 4.3.2 differs from library version 4.2.2. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.5.1/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/usr/include/x86_64-linux-gnu" #include "..." search starts here: #include <...> search starts here: /usr/include/c++/4.5 /usr/include/c++/4.5/x86_64-linux-gnu /usr/include/c++/4.5/backward /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.5.1/include /usr/lib/gcc/x86_64-linux-gnu/4.5.1/include-fixed /usr/include End of search list. GNU C++ (Debian 4.5.1-2) version 4.5.1 (x86_64-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 warning: GMP header version 4.3.2 differs from library version 4.2.2. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 088ccc0edd14ed2073ed25e2d6963850 COLLECT_GCC_OPTIONS='-v' '-flto' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -V -Qy --64 -o /tmp/cctwxZZ0.o /tmp/ccTWKMfh.s GNU assembler version 2.20.51 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.20.51-system.20100813 COLLECT_GCC_OPTIONS='-v' '-flto' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/gcc/x86_64-linux-gnu/4.5.1/cc1plus -quiet -v -D_GNU_SOURCE 2.cpp -quiet -dumpbase 2.cpp -mtune=generic -march=x86-64 -auxbase 2 -version -flto -o /tmp/ccTWKMfh.s GNU C++ (Debian 4.5.1-2) version 4.5.1 (x86_64-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 warning: GMP header version 4.3.2 differs from library version 4.2.2. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.5.1/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/usr/include/x86_64-linux-gnu" #include "..." search starts here: #include <...> search starts here: /usr/include/c++/4.5 /usr/include/c++/4.5/x86_64-linux-gnu /usr/include/c++/4.5/backward /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/4.5.1/include /usr/lib/gcc/x86_64-linux-gnu/4.5.1/include-fixed /usr/include End of search list. GNU C++ (Debian 4.5.1-2) version 4.5.1 (x86_64-linux-gnu) compiled by GNU C version 4.5.1, GMP version 4.3.2, MPFR version 3.0.0-p3, MPC version 0.8.2 warning: GMP header version 4.3.2 differs from library version 4.2.2. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: 088ccc0edd14ed2073ed25e2d6963850 COLLECT_GCC_OPTIONS='-v' '-flto' '-shared-libgcc' '-mtune=generic' '-march=x86-64' as -V -Qy --64 -o /tmp/ccBnOlNK.o /tmp/ccTWKMfh.s GNU assembler version 2.20.51 (x86_64-linux-gnu) using BFD version (GNU Binutils for Debian) 2.20.51-system.20100813 COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.5.1/:/usr/lib/gcc/x86_64-linux-gnu/4.5.1/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/4.5.1/:/usr/lib/gcc/x86_64-linux-gnu/ LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/4.5.1/:/usr/lib/gcc/x86_64-linux-gnu/4.5.1/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/usr/lib/gcc/x86_64-linux-gnu/4.5.1/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-flto' '-shared-libgcc' '-mtune=generic' '-march=x86-64' /usr/lib/g
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #2 from alexey at feldgendler dot ru 2010-09-02 11:27 --- Created an attachment (id=21656) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21656&action=view) TC (2.cpp) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496
[Bug lto/45496] Static members of templates cause LTO to omit required code
--- Comment #1 from alexey at feldgendler dot ru 2010-09-02 11:27 --- Created an attachment (id=21655) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21655&action=view) TC (file 1) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45496