llvm-project/clang/lib/AST
Reid Kleckner cd016d8dc6 [MS] Don't statically initialize dllimport member function pointers
Summary:
r306137 made dllimport pointers to member functions non-constant. This
is correct because a load must be executed to resolve any dllimported
data. However, r306137 did not account for the use of dllimport member
function pointers used as template arguments.

This change re-lands r306137 with a template instantiation fix.

This fixes PR33570.

Reviewers: rnk, majnemer

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D34714

llvm-svn: 307446
2017-07-07 22:04:29 +00:00
..
APValue.cpp Re-commit r289252 and r289285, and fix PR31374 2016-12-15 08:09:08 +00:00
ASTConsumer.cpp Move LocInfoType from Sema to AST. 2016-02-01 17:42:01 +00:00
ASTContext.cpp [CodeGen][ObjC] Fix GNU's encoding of bit-field ivars. 2017-06-27 04:34:04 +00:00
ASTDiagnostic.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ASTDumper.cpp Special-case handling of destructors in override lists when dumping ASTs. 2017-06-20 21:30:43 +00:00
ASTImporter.cpp Preserve CXX method overrides in ASTImporter 2017-06-20 21:06:00 +00:00
ASTStructuralEquivalence.cpp [Modules] Implement ODR-like semantics for tag types in C/ObjC 2017-07-01 00:06:47 +00:00
ASTTypeTraits.cpp Teach clang-query to dump types. I couldn't find any existing tests for clang-query's dumping functionality. =( 2016-11-02 23:57:18 +00:00
AttrImpl.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CMakeLists.txt Update libdeps to add BinaryFormat, introduced in r304864. 2017-06-07 04:48:49 +00:00
CXXABI.h Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
CXXInheritance.cpp [index] Avoid one more crash caused by infinite recursion that happens when 2017-05-18 18:06:07 +00:00
Comment.cpp [AST] Look through attribute type locs when searching for function type 2017-04-26 12:46:27 +00:00
CommentBriefParser.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CommentCommandTraits.cpp
CommentLexer.cpp Fix 'unknown documentation command' warning ranges 2016-10-25 10:06:11 +00:00
CommentParser.cpp [cleanup] Remove excessive padding from TextTokenRetokenizer::Position 2016-09-20 18:32:48 +00:00
CommentSema.cpp -Wdocumentation should not check the @returns command for Objective-C 2017-04-26 13:09:28 +00:00
Decl.cpp [modules ts] Basic for module linkage. 2017-07-07 20:04:28 +00:00
DeclBase.cpp [modules ts] Improve merging of module-private declarations. 2017-07-05 07:47:11 +00:00
DeclCXX.cpp Fix PR 33189: Clang assertion on template destructor declaration 2017-06-30 22:43:54 +00:00
DeclFriend.cpp [TrailingObjects] Convert Decl* classes. 2015-12-29 22:13:13 +00:00
DeclGroup.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
DeclObjC.cpp [DebugInfo] Add kind of ImplicitParamDecl for emission of FlagObjectPointer. 2017-06-09 13:40:18 +00:00
DeclOpenMP.cpp [OPENMP] Fix for PR31416: Clang crashes on OMPCapturedExpr during source 2016-12-20 16:51:02 +00:00
DeclPrinter.cpp ASTPrinter: Objective-C method declarations don't need a space after 2017-06-02 15:02:59 +00:00
DeclTemplate.cpp Add a destruct-on-exit function to ASTContext. 2017-02-14 05:37:36 +00:00
DeclarationName.cpp [ASTPrinter] Print nested name specifiers for out-of-line functions 2017-04-11 16:46:03 +00:00
Expr.cpp Make CastExpr::getSubExprAsWritten look through implicit temporary under CK_ConstructorConversion 2017-06-27 08:19:09 +00:00
ExprCXX.cpp [c++1z] P0091R3: Basic support for deducing class template arguments via deduction-guides. 2017-02-09 19:17:44 +00:00
ExprClassification.cpp [coroutines] Allow co_await and co_yield expressions that return an lvalue to compile 2017-06-15 19:43:36 +00:00
ExprConstant.cpp [MS] Don't statically initialize dllimport member function pointers 2017-07-07 22:04:29 +00:00
ExprObjC.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
ExternalASTMerger.cpp Call setMustBuildLookupTable on TagDecls in ExternalASTMerger 2017-06-17 00:12:38 +00:00
ExternalASTSource.cpp Modular Codegen: Support homing debug info for types in modular objects 2017-04-11 21:13:37 +00:00
InheritViz.cpp InheritViz: Hide implementation details 2015-03-09 15:03:20 +00:00
ItaniumCXXABI.cpp Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
ItaniumMangle.cpp Fix for Itanium mangler issue with templates 2017-06-14 09:47:47 +00:00
Mangle.cpp [AST/ObjC] Make ObjCCategoryImplDecl consistent with ObjCCategoryDecl and use the category name as its DeclName 2017-03-07 09:26:07 +00:00
MicrosoftCXXABI.cpp Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
MicrosoftMangle.cpp AST: enhance mangling for blocks with MS ABI 2017-06-26 23:28:42 +00:00
NSAPI.cpp [OpenCL] Correct ndrange_t implementation 2017-02-16 12:27:47 +00:00
NestedNameSpecifier.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ODRHash.cpp [ODRHash] Revert r305104 - Skip inline namespaces when hashing. 2017-07-01 02:00:05 +00:00
OpenMPClause.cpp [OpenMP] Support for thread_limit-clause on the 'target teams' directive. 2017-01-25 11:44:35 +00:00
ParentMap.cpp [arcmt/objcmt] Fix ParentMap crash with invalid code. 2016-07-14 20:21:16 +00:00
RawCommentList.cpp AST: Improve a couple of comments and cast unused values to void 2016-10-16 20:12:42 +00:00
RecordLayout.cpp [RecordLayout] Use an ASTVector instead of using a separate pointer and counter 2016-05-24 18:10:50 +00:00
RecordLayoutBuilder.cpp [CodeGen][ObjC] Fix GNU's encoding of bit-field ivars. 2017-06-27 04:34:04 +00:00
SelectorLocationsKind.cpp
Stmt.cpp [OPENMP] Check DSA for variables captured by value. 2017-05-15 16:26:15 +00:00
StmtCXX.cpp [coroutines] Build GRO declaration and return GRO statement 2017-05-22 20:22:23 +00:00
StmtIterator.cpp [ptr-traits] Stop using two bogus types as stand-ins for flags 2015-12-30 02:51:00 +00:00
StmtObjC.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
StmtOpenMP.cpp [OpenMP] Prepare sema to support combined constructs with omp distribute and omp for 2017-04-20 00:39:39 +00:00
StmtPrinter.cpp [coroutines] Add DependentCoawaitExpr and fix re-building CoroutineBodyStmt. 2017-03-06 23:38:15 +00:00
StmtProfile.cpp [ODRHash] Revert r305104 - Skip inline namespaces when hashing. 2017-07-01 02:00:05 +00:00
StmtViz.cpp
TemplateBase.cpp [AST] Give TemplateArgumentLoc a constexpr ctor. 2017-01-30 18:32:46 +00:00
TemplateName.cpp Annotate dump() methods with LLVM_DUMP_METHOD, addressing Richard Smith r259192 post commit comment. 2016-01-29 19:38:18 +00:00
Type.cpp [clang] Remove double semicolons. NFC. 2017-06-06 19:47:56 +00:00
TypeLoc.cpp [OpenCL] Correct ndrange_t implementation 2017-02-16 12:27:47 +00:00
TypePrinter.cpp CodeGen: Cast alloca to expected address space 2017-05-18 18:51:09 +00:00
VTTBuilder.cpp
VTableBuilder.cpp CodeGen: New vtable group representation: struct of vtable arrays. 2016-12-13 20:40:39 +00:00