This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[inliner] g++ -O[123] generates undefined symbol


Trunk g++/x86/160655 with -O0 compile test w/o errors, but with
-O[123] generates undefined symbol

--> cat 2010_06_13.cpp
namespace FOO {

template <typename T>
class A
{
public:
    A(char *pMemMgr = 0);
    void Enum();
    virtual void OnProv() = 0;
    virtual ~A() { }
};
typedef A<char> B;

template<typename T>
inline A<T>::A(char *pMemMgr)
{
}

template<typename T>
inline void A<T>::Enum ()
{
    OnProv ();
}
} // namespace FOO

class C {};

class D: public C, public FOO::B {
public:
    void OnProv() {}
};

void aaa()
{
    D x;
    x.Enum();
}

--> g++ -O1 -c 2010_06_13.cpp && nm -uAC 2010_06_13.o | grep OnProv
2010_06_13.o:         U FOO::A<char>::OnProv()

--> g++ -O0 -c 2010_06_13.cpp && nm -uAC 2010_06_13.o | grep OnProv
-->

--> g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/local/gcc_current/libexec/gcc/i686-redhat-linux/4.6.0/lto-wrapper
Target: i686-redhat-linux
Configured with: ../gcc-current/configure
--prefix=/usr/local/gcc_current --enable-bootstrap --enable-shared
--enable-threads=posix --enable-checking=yes --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions
--enable-gnu-unique-object --enable-languages=c,c++ --with-ppl
--with-cloog --with-tune=generic --with-arch=i686
--build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs : (reconfigured)
../gcc-current/configure --prefix=/usr/local/gcc_current
--enable-bootstrap --enable-shared --enable-threads=posix
--enable-checking=yes --with-system-zlib --enable-__cxa_atexit
--disable-libunwind-exceptions --enable-gnu-unique-object
--enable-languages=c,c++ --with-ppl --with-cloog --with-tune=generic
--with-arch=i686 --build=i686-redhat-linux --enable-lto
--enable-version-specific-runtime-libs
Thread model: posix
gcc version 4.6.0 20100612 (experimental) [trunk revision 160655] (GCC)


Need i file a PR?

Thanks,
Dmitry


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]