[llvm-bugs] [Bug 30937] New: Can't find pure virtual function after r285954

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Nov 7 14:28:38 PST 2016


            Bug ID: 30937
           Summary: Can't find pure virtual function after r285954
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: dmajor at mozilla.com
                CC: llvm-bugs at lists.llvm.org, richard-llvm at metafoo.co.uk
    Classification: Unclassified

$ cat test.cpp
struct NormalizedConstraintSet
  struct BaseRange
    virtual void FinalizeMerge() = 0;

  struct StringRange : public BaseRange
    void FinalizeMerge() override {}


  typedef BaseRange NormalizedConstraintSet::* MemberPtrType;
  MemberPtrType list[42];

  for (auto& memberPtr : list) {

int main()
  return 0;

$ clang-cl test.cpp
test-24ac86.obj : error LNK2019: unresolved external symbol "public: virtual
void __cdecl NormalizedConstraintSet::BaseRange::FinalizeMerge(void)"
(?FinalizeMerge at BaseRange@NormalizedConstraintSet@@UEAAXXZ) referenced in
function "public: __cdecl
(??0NormalizedConstraintSet@@QEAA at XZ)
test.exe : fatal error LNK1120: 1 unresolved externals
clang-cl.exe: error: linker command failed with exit code 1120 (use -v to see

(This test.cpp was reduced from the Firefox codebase. For real-world usage
please see https://dxr.mozilla.org/mozilla-central/search?q=FinalizeMerge)

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20161107/a3b0c9a9/attachment-0001.html>

More information about the llvm-bugs mailing list