[Bug c++/67650] undef reference with -fdevirtualize
vincent.lextrait at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu May 3 13:20:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67650
--- Comment #27 from Vincent <vincent.lextrait at gmail dot com> ---
Sorry for the silly check, are you sure you are trying with -O3 or
-fdevirtualize -O2?
You can try this with 8.1:
void *v;
template <typename T>
struct LK: public BLKC
{
void rb(){((T*)v)->ax();}
static T* st;
};
As a replacement to the call to null, and the missing definition problem is
reported.
(In reply to Jonathan Wakely from comment #26)
> (In reply to Vincent from comment #25)
> > Oh, it used to be the case. I think that must be due to some additional
> > artefact of more recent compilers. I'll try to find another way to show it.
>
> I tried 5.1.0 and 5.2.0 and several other previous releases, they all link
> the program successfully, with just this warning:
>
> main.cpp:53:8: warning: 'I' has a field 'I::_e' whose type uses the
> anonymous namespace
More information about the Gcc-bugs
mailing list