http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58313

            Bug ID: 58313
           Summary: [4.9 Regression] kdelibs build failure
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: markus at trippelsdorf dot de

Building kdelibs-4.11.1 fails when linking kdecore:
...
CMakeFiles/kdecore.dir/network/k3socketdevice.o:k3socketdevice.cpp:function
_ZN8KNetwork13KSocketDeviceC2EPKNS_11KSocketBaseEP7QObject: error: undefined
reference to '_ZN8KNe
twork17KActiveSocketBaseC2EPPKvP7QObject'
CMakeFiles/kdecore.dir/network/k3socketdevice.o:k3socketdevice.cpp:function
_ZN8KNetwork13KSocketDeviceC2EPKNS_11KSocketBaseEP7QObject: error: undefined
reference to '_ZN8KNe
twork18KPassiveSocketBaseC2EPPKv'
CMakeFiles/kdecore.dir/network/k3socketdevice.o:k3socketdevice.cpp:function
_ZN8KNetwork13KSocketDeviceC1EPKNS_11KSocketBaseEP7QObject: error: undefined
reference to '_ZN8KNe
twork17KActiveSocketBaseC2EPPKvP7QObject'
CMakeFiles/kdecore.dir/network/k3socketdevice.o:k3socketdevice.cpp:function
_ZN8KNetwork13KSocketDeviceC1EPKNS_11KSocketBaseEP7QObject: error: undefined
reference to '_ZN8KNe
twork18KPassiveSocketBaseC2EPPKv'
...

I've reduced this issue to:

markus@x4 tmp % cat test.ii
namespace KNetwork {
class A {};
class KPassiveSocketBase : virtual A {
public:
  KPassiveSocketBase();
};
class B : KPassiveSocketBase {
  B();
};
}
using namespace KNetwork;
B::B() {}

markus@x4 tmp % g++ -c -O2 test.ii
markus@x4 tmp % nm test.o | grep _ZN8KNetwork18KPassiveSocketBaseC2EPPKv
                 U _ZN8KNetwork18KPassiveSocketBaseC2EPPKv
markus@x4 tmp %  /usr/x86_64-pc-linux-gnu/gcc-bin/4.8.1/g++ -c -O2 test.ii
markus@x4 tmp % nm test.o | grep _ZN8KNetwork18KPassiveSocketBaseC2EPPKv
markus@x4 tmp %

Reply via email to