/// main.cc template<class T> struct Foo { Foo() __attribute__((always_inline)); }; template<class T> Foo<T>::Foo() {} void bar() { Foo<int> foo; } ////// $ g++ -v Reading specs from .../gcc/3.4.0/bin/../lib/gcc/i686-pc-linux-gnu/3.4.0/specs Configured with: ../gcc-3.4.0/configure --prefix=.../gcc/3.4.0 Thread model: posix gcc version 3.4.0 $ g++ -c -o main.o main.cc main.cc: In function `void bar()': main.cc:6: sorry, unimplemented: inlining failed in call to 'Foo<T>::Foo() [with T = int]': function body not available main.cc:10: sorry, unimplemented: called from here The error message points at the function body (line 6) and says that it is not available. GCC 3.3.3 is able to inline the call.
This is a dup of bug 14950, they are the same problem. *** This bug has been marked as a duplicate of 14950 ***