https://llvm.org/bugs/show_bug.cgi?id=26686

            Bug ID: 26686
           Summary: [MS ABI] dllimport'd class specialization w/ virtual
                    base causes IRGen to go off the rails
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangb...@nondot.org
          Reporter: david.majne...@gmail.com
                CC: dgre...@apple.com, llvm-bugs@lists.llvm.org
    Classification: Unclassified

consider:
class A {
  virtual void m_fn1();
};
template <typename>
struct B : virtual A {};

extern template class __declspec(dllimport) B<int>;
B<int> b;

run with:
~/llvm/Debug+Asserts/bin/clang -cc1 -x c++ -triple i686-pc-win32
-fms-extensions -S -o t.cpp -fno-rtti -emit-llvm -O2 -disable-llvm-optzns

we get:
Global is marked as dllimport, but not external
[2 x i32]* @"\01??_8?$B@H@@7B@"
fatal error: error in backend: Broken module found, compilation aborted!

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to