http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47247
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011.01.10 17:00:06
Ever Confirmed|0 |1
--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-10
17:00:06 UTC ---
Testcase to demonstrate the problem
j...@evans:~> cat t2.C
#include <stdlib.h>
extern int unused2;
extern int unused (void);
class test
{
public:
virtual int unused3()
{
return (int)(size_t)&unused;
}
};
extern inline int unused (void)
{
test t;
if (t.unused3())
return unused2;
}
main()
{
}
j...@evans:~> /abuild/jh/trunk-install/bin/g++ -O2 t2.C -rdynamic
j...@evans:~> /abuild/jh/trunk-install/bin/g++ -O2 t2.C -rdynamic -flto
/abuild/jh/trunk-install/lib/gcc/x86_64-unknown-linux-gnu/4.6.0/../../../../x86_64-unknown-linux-gnu/bin/ld:
/tmp/ccvAd49o.ltrans0.ltrans.o: in function
unused():ccvAd49o.ltrans0.o(.text._Z6unusedv+0xc): error: undefined reference
to 'unused2'
collect2: ld returned 1 exit status