Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

reference to a thunk generated while g++ generates none #7194

Closed Quuxplusone closed 14 years ago

Quuxplusone commented 14 years ago
Bugzilla Link PR6737
Status RESOLVED FIXED
Importance P normal
Reported by Roman Divacky (rdivacky@freebsd.org)
Reported on 2010-03-29 11:33:12 -0700
Last modified on 2010-03-30 13:19:00 -0700
Version unspecified
Hardware PC FreeBSD
CC dgregor@apple.com, llvm-bugs@lists.llvm.org, rafael@espindo.la
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
pes delta$ cat compatibility.cc
namespace std __attribute__ ((__visibility__ ("default"))) {
        template<class _CharT>     struct char_traits;
       }
      typedef long __int64_t;
      typedef __int64_t __ptrdiff_t;
     typedef __ptrdiff_t ptrdiff_t;
      namespace std __attribute__ ((__visibility__ ("default"))) {
            typedef ptrdiff_t streamsize;
        template<typename _CharT, typename _Traits = char_traits<_CharT> >     class basic_ostream;
        template<typename _CharT, typename _Traits = char_traits<_CharT> >     class basic_fstreamXX;
         template<typename, typename>     struct __are_same     {
        };
      }
        namespace std __attribute__ ((__visibility__ ("default"))) {
            enum _Ios_Fmtflags     {
          _S_beg = 0,       _S_cur = 1,       _S_end = 2,       _S_ios_seekdir_end = 1L << 16     };
      class ios_base   {
          virtual ~ios_base();
        };
       }
     namespace std __attribute__ ((__visibility__ ("default"))) {
        template<typename _CharT, typename _Traits>     class basic_ios : public ios_base     {
           protected:       basic_ostream<_CharT, _Traits>* _M_tie;
        };
      template<typename _CharT, typename _Traits>     class basic_istream : virtual public basic_ios<_CharT, _Traits>     {
         protected:              streamsize _M_gcount;
        };
        template<typename _CharT, typename _Traits>     class basic_iostream     : public basic_istream<_CharT, _Traits>,       public basic_ostream<_CharT, _Traits>     {
        };
        template<typename _CharT, typename _Traits>     class basic_ostream : virtual public basic_ios<_CharT, _Traits>     {
        };
        template<typename _CharT, typename _Traits>     class basic_fstreamXX : public basic_iostream<_CharT, _Traits>     {
             bool       is_open() const       {
   }
        };
        template     bool     basic_fstreamXX<char>::is_open() const;
       }
pes delta$ clang++ -c compatibility.cc && nm compatibility.o | grep Thn
0000000000000000 W _ZThn16_NSdD0Ev
0000000000000000 W _ZThn16_NSdD1Ev
0000000000000000 W _ZThn16_NSt15basic_fstreamXXIcSt11char_traitsIcEED0Ev
0000000000000000 W _ZThn16_NSt15basic_fstreamXXIcSt11char_traitsIcEED1Ev
pes delta$ g++ -c compatibility.cc && nm compatibility.o | grep Thn
pes delta$
Quuxplusone commented 14 years ago

fixed in r99900.