]> granicus.if.org Git - clang/commit
[MS] Instantiate default args during instantiation of exported default ctors
authorReid Kleckner <rnk@google.com>
Thu, 5 Jan 2017 01:08:22 +0000 (01:08 +0000)
committerReid Kleckner <rnk@google.com>
Thu, 5 Jan 2017 01:08:22 +0000 (01:08 +0000)
commitf228bfa79ddef85ccdeef173a3e97fd6683e8f7c
tree3683e05e582445c98badcdfc2c40cc6c3f9a0b9f
parentb0c114c8f684b3b8b8b5d37825a19a889589ebb3
[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
lib/Sema/SemaDeclCXX.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
test/CodeGenCXX/dllexport.cpp
test/SemaCXX/default-arg-closures.cpp
test/SemaCXX/dllexport.cpp