[MS] Instantiate default args during instantiation of exported default ctors
Summary: Replace some old code that probably pre-dated the change to delay emission of dllexported code until after the closing brace of the outermost record type. Only uninstantiated default argument expressions need to be handled now. It is enough to instantiate default argument expressions when instantiating dllexported default ctors. This also fixes some double-diagnostic issues in this area. Fixes PR31500 Reviewers: rsmith Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28274 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@291045 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/Sema/SemaDeclCXX.cpp 21 additions, 54 deletionslib/Sema/SemaDeclCXX.cpp
- lib/Sema/SemaTemplateInstantiateDecl.cpp 31 additions, 4 deletionslib/Sema/SemaTemplateInstantiateDecl.cpp
- test/CodeGenCXX/dllexport.cpp 12 additions, 0 deletionstest/CodeGenCXX/dllexport.cpp
- test/SemaCXX/default-arg-closures.cpp 4 additions, 5 deletionstest/SemaCXX/default-arg-closures.cpp
- test/SemaCXX/dllexport.cpp 21 additions, 0 deletionstest/SemaCXX/dllexport.cpp
Loading
Please register or sign in to comment