llvm-project/clang/lib/Sema
Hans Wennborg c5877e9803 Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006)
This is similar to r245139, but that only addressed dllexported classes.
It was still possible to run into the same problem with dllexported
members in an otherwise normal class (see bug). This uses the same
strategy to fix: delay defining the method until the whole class has
been parsed.

(The easiest way to see the ordering problem is in
Parser::ParseCXXMemberSpecification(): it calls
ParseLexedMemberInitializers() *after* ActOnFinishCXXMemberDecls(),
which was trying to define the dllexport method. Now we delay it to
ActOnFinishCXXNonNestedClass() which is called after both of those.)

Differential revision: https://reviews.llvm.org/D65511

llvm-svn: 367520
2019-08-01 08:01:09 +00:00
..
AnalysisBasedWarnings.cpp Defer capture initialization for blocks until after we've left the 2019-05-31 00:45:09 +00:00
CMakeLists.txt Recommit [OpenCL] Move OpenCLBuiltins.td and remove unused include 2019-06-17 10:06:34 +00:00
CodeCompleteConsumer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CoroutineStmtBuilder.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclSpec.cpp [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL 2019-07-18 10:02:35 +00:00
DelayedDiagnostic.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IdentifierResolver.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
JumpDiagnostics.cpp Re-check in clang support gun asm goto after fixing tests. 2019-06-03 15:57:25 +00:00
MultiplexExternalSemaSource.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
OpenCLBuiltins.td [OpenCL] Rename builtin definition classes 2019-07-29 14:55:29 +00:00
ParsedAttr.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Scope.cpp Un-revert "[coroutines][PR40978] Emit error for co_yield within catch block" 2019-03-25 00:53:10 +00:00
ScopeInfo.cpp PR42104: Support instantiations of lambdas that implicitly capture 2019-06-04 17:17:20 +00:00
Sema.cpp Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006) 2019-08-01 08:01:09 +00:00
SemaAccess.cpp Range-style std::find{,_if} -> llvm::find{,_if}. NFC 2019-03-31 08:48:19 +00:00
SemaAttr.cpp clang-cl: Port cl.exe's C4659 to clang-cl 2019-07-09 00:02:23 +00:00
SemaCUDA.cpp Split ActOnCallExpr into an ActOnCallExpr to be called by the parser, 2019-05-08 01:36:36 +00:00
SemaCXXScopeSpec.cpp [c++20] Implement P0846R0: allow (ADL-only) calls to template-ids whose 2019-05-09 03:31:27 +00:00
SemaCast.cpp [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL 2019-07-18 10:02:35 +00:00
SemaChecking.cpp [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss 2019-08-01 00:16:43 +00:00
SemaCodeComplete.cpp [CodeComplete] Fix ASTUnit cached completion of macros from preamble, broken in r342528 2019-07-18 07:17:49 +00:00
SemaConsumer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SemaCoroutine.cpp Allow copy/move assignment operator to be coroutine as per N4775 2019-06-19 14:12:19 +00:00
SemaDecl.cpp [Fix] Customize warnings for missing built-in types 2019-07-31 05:16:38 +00:00
SemaDeclAttr.cpp Add lifetime categories attributes 2019-07-25 17:50:51 +00:00
SemaDeclCXX.cpp Delay emitting dllexport explicitly defaulted members until the class is fully parsed (PR40006) 2019-08-01 08:01:09 +00:00
SemaDeclObjC.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaExceptionSpec.cpp [C++2a] Add __builtin_bit_cast, used to implement std::bit_cast 2019-07-02 18:28:13 +00:00
SemaExpr.cpp Revert "[Sema] Diagnose default-initialization, destruction, and copying of" 2019-07-26 00:02:17 +00:00
SemaExprCXX.cpp [clang][NFCI] Fix random typos 2019-07-23 16:54:11 +00:00
SemaExprMember.cpp [Sema] Actually map a variable template specialization from pattern to instantiation 2019-07-30 23:38:18 +00:00
SemaExprObjC.cpp Implement __builtin_LINE() et. al. to support source location capture. 2019-05-16 21:04:15 +00:00
SemaFixItUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SemaInit.cpp [OpenCL] Fixing sampler initialisations for C++ mode. 2019-07-16 14:57:32 +00:00
SemaLambda.cpp When determining whether a lambda-expression is implicitly constexpr, 2019-07-29 19:59:45 +00:00
SemaLookup.cpp [OpenCL] Make TableGen'd builtin tables and helper functions static 2019-07-15 22:34:19 +00:00
SemaModule.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaObjCProperty.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaOpenMP.cpp [OPENMP]Fix sharing of threadprivate variables with TLS support. 2019-07-18 19:40:24 +00:00
SemaOverload.cpp [NFC] avoid AlignedCharArray in clang 2019-07-29 23:12:48 +00:00
SemaPseudoObject.cpp Split ActOnCallExpr into an ActOnCallExpr to be called by the parser, 2019-05-08 01:36:36 +00:00
SemaStmt.cpp Implement P1771 2019-07-25 15:10:56 +00:00
SemaStmtAsm.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaStmtAttr.cpp [Clang] New loop pragma vectorize_predicate 2019-07-25 07:33:13 +00:00
SemaTemplate.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaTemplateDeduction.cpp Fix parameter name comments using clang-tidy. NFC. 2019-07-16 04:46:31 +00:00
SemaTemplateInstantiate.cpp PR42104: Support instantiations of lambdas that implicitly capture 2019-06-04 17:17:20 +00:00
SemaTemplateInstantiateDecl.cpp [Sema] Actually map a variable template specialization from pattern to instantiation 2019-07-30 23:38:18 +00:00
SemaTemplateVariadic.cpp [SemaTemplate] Fix uncorrected typos after pack expansion 2019-07-16 10:30:21 +00:00
SemaType.cpp Give the 'signed/unsigned wchar_t' extension a warning flag, and follow 2019-07-29 20:00:46 +00:00
TreeTransform.h [OpenCL][PR42033] Fix addr space deduction with template parameters 2019-07-18 09:12:49 +00:00
TypeLocBuilder.cpp [NFC] avoid AlignedCharArray in clang 2019-07-29 23:12:48 +00:00
TypeLocBuilder.h [NFC] avoid AlignedCharArray in clang 2019-07-29 23:12:48 +00:00