[LLVMbugs] [Bug 10669] New: regression: not emitting typeinfo

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Aug 15 18:16:48 PDT 2011


http://llvm.org/bugs/show_bug.cgi?id=10669

           Summary: regression: not emitting typeinfo
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: nlewycky at google.com
                CC: llvmbugs at cs.uiuc.edu


This is a regression. In this testcase:

  class Empty {};
  struct Base {
    virtual ~Base() {}
  };
  struct Derived : public Base {
    explicit Derived(const Empty&);
  };
  void helper() {
    Empty *e;
    Derived d(*e);
  }

we should emit the typeinfo for Base, but we don't. We used to, and gcc does.
There's no reason to think that it will be supplied by another translation
unit.

$ clang x.cc -c -o x.o
$ nm x.o
0000000000000000 T _Z6helperv
0000000000000000 W _ZN4BaseD2Ev
                 U _ZN7DerivedC1ERK5Empty
0000000000000000 W _ZN7DerivedD1Ev
0000000000000000 W _ZN7DerivedD2Ev
$ clang-old x.cc -c -o x.o
$ nm x.o
0000000000000000 r GCC_except_table4
0000000000000028 r GCC_except_table6
                 U _Unwind_Resume_or_Rethrow
0000000000000000 T _Z6helperv
0000000000000000 W _ZN4BaseD0Ev
0000000000000000 W _ZN4BaseD1Ev
0000000000000000 W _ZN4BaseD2Ev
                 U _ZN7DerivedC1ERK5Empty
0000000000000000 W _ZN7DerivedD0Ev
0000000000000000 W _ZN7DerivedD1Ev
0000000000000000 W _ZN7DerivedD2Ev
0000000000000000 V _ZTI4Base
0000000000000000 V _ZTI7Derived
0000000000000000 V _ZTS4Base
0000000000000000 V _ZTS7Derived
0000000000000000 V _ZTV4Base
0000000000000000 V _ZTV7Derived
                 U _ZTVN10__cxxabiv117__class_type_infoE
                 U _ZTVN10__cxxabiv120__si_class_type_infoE
                 U _ZdlPv
                 U __gxx_personality_v0

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list