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

Reply via email to