[LLVMbugs] [Bug 13232] New: [Windows] Something's wrong with the virtual table layout

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Jun 28 16:31:17 PDT 2012


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

             Bug #: 13232
           Summary: [Windows] Something's wrong with the virtual table
                    layout
           Product: clang
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: timurrrr at google.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8787
  --> http://llvm.org/bugs/attachment.cgi?id=8787
Reproducer

See the attached files.
One .cpp file makes a call of an interface function implemented in a subclass
located in the second .cpp file.

$ cl -nologo main.cpp define_subclass.cpp >/dev/null && ./main.exe && echo "OK"
OK

$ clang++ -fno-rtti -Xclang -cxx-abi -Xclang microsoft main.cpp
define_subclass.cpp && ./a.out; echo "OK"
OK

$ clang++ -fno-rtti -Xclang -cxx-abi -Xclang microsoft -c define_subclass.cpp
&& cl -nologo -c main.cpp >/dev/null && link -nologo main.obj define_subclass.o
&& ./main.exe || echo "FAIL"
dtor a b c = 1 1 0 0
should be  = 1 0 1 0
FAIL

$ clang++ -fno-rtti -Xclang -cxx-abi -Xclang microsoft -c main.cpp && cl
-nologo -c define_subclass.cpp >/dev/null && link -nologo main.o
define_subclass.obj && ./main.exe || echo "FAIL"
dtor a b c = 1 0 0 1
should be  = 1 0 1 0
FAIL

-- 
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