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

Hans Wennborg <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #2 from Hans Wennborg <[email protected]> ---
We still fail in some situations:

  template <typename T> struct S {
    S(const S&) {};
    void f() {};
  };
  extern template struct S<int>;

  void use(S<int>& s) {
    S<int> t(s);
    s.f();
  }

  template struct __declspec(dllexport) S<int>;

In the example above, where S::f and S::S are referenced before the explicit
instantiation definition, S::f gets exported but S::S doesn't for some reason.

If use() is moved to after the explicit instantiation definition, both members
are exported.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to