[PATCH] D65511: Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006)
Reid Kleckner via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jul 31 09:55:02 PDT 2019
rnk added inline comments.
================
Comment at: clang/lib/Sema/SemaDeclCXX.cpp:11545
+ for (CXXMethodDecl *M : WorkList) {
+ DefineImplicitSpecialMember(*this, M, M->getLocation());
+ ActOnFinishInlineFunctionDef(M);
----------------
Do we need to do this until fixpoint? Suppose a dllexported implicit special member triggers a template instantiation, and the template has a dllexported defaulted special member, something like:
```
struct Bar { Bar(); };
template <typename T> struct Foo { __declspec(dllexport) Foo() = default; Bar obj; };
struct Baz {
... not sure how to trigger instantiation
};
```
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D65511/new/
https://reviews.llvm.org/D65511
More information about the cfe-commits
mailing list