llvm-project/clang/lib/AST
Gabor Marton 42e15deb6c Fix import of class templates partial specialization
Summary:
Currently there are several issues with the import of class template
specializations.  (1) Different TUs may have class template specializations
with the same template arguments, but with different set of instantiated
MethodDecls and FieldDecls.  In this patch we provide a fix to merge these
methods and fields.  (2) Currently, we search the partial template
specializations in the set of simple specializations and we add partial
specializations as simple specializations. This is bad, this patch fixes it.

Reviewers: a_sidorin, xazax.hun, r.stahl

Subscribers: rnkovacs, dkrupp, cfe-commits

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

llvm-svn: 340402
2018-08-22 11:52:14 +00:00
..
APValue.cpp [ExprConstant] Use an AST node and a version number as a key to create 2018-04-10 05:15:01 +00:00
ASTConsumer.cpp
ASTContext.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
ASTDiagnostic.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ASTDumper.cpp Add space to TemplateArgument dump 2018-08-21 22:55:26 +00:00
ASTImporter.cpp Fix import of class templates partial specialization 2018-08-22 11:52:14 +00:00
ASTStructuralEquivalence.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +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 [C++2a] Implement operator<=> CodeGen and ExprConstant 2018-05-07 21:07:10 +00:00
CXXABI.h Fix __has_unique_object_representations implementation 2017-11-30 16:37:02 +00:00
CXXInheritance.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
Comment.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
CommentBriefParser.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
CommentCommandTraits.cpp
CommentLexer.cpp Add a newline to SourceLocation dump output 2018-08-15 20:32:06 +00:00
CommentParser.cpp [cleanup] Remove excessive padding from TextTokenRetokenizer::Position 2016-09-20 18:32:48 +00:00
CommentSema.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ComparisonCategories.cpp [C++2a] Implement operator<=>: Address bugs and post-commit review comments after r331677. 2018-05-08 00:52:19 +00:00
DataCollection.cpp [analyzer] Make StmtDataCollector customizable 2017-08-23 16:28:26 +00:00
Decl.cpp [AST] correct the behavior of -fvisibility-inlines-hidden option (don't make static local variables hidden) 2018-08-22 05:43:27 +00:00
DeclBase.cpp Test commit 2018-08-03 13:13:05 +00:00
DeclCXX.cpp Fix assertion failure when emitting code for a merged lambda. 2018-08-02 20:30:52 +00:00
DeclFriend.cpp [AST] Fix some Clang-tidy modernize-use-auto warnings; other minor fixes (NFC). 2018-04-03 00:11:50 +00:00
DeclGroup.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-10 00:59:22 +00:00
DeclObjC.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
DeclOpenMP.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
DeclPrinter.cpp [OPENMP] Fix processing of declare target construct. 2018-08-14 18:31:20 +00:00
DeclTemplate.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +00:00
DeclarationName.cpp [AST] Remove unnecessary indirections in DeclarationNameTable 2018-08-06 16:47:31 +00:00
Expr.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ExprCXX.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ExprClassification.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ExprConstant.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
ExprObjC.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-30 22:33:48 +00:00
ExternalASTMerger.cpp [ASTImporter] Refactor Decl creation 2018-07-12 09:42:05 +00:00
ExternalASTSource.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
InheritViz.cpp
ItaniumCXXABI.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ItaniumMangle.cpp Append new attributes to the end of an AttributeList. 2018-08-03 01:21:16 +00:00
Linkage.h Give external linkage and mangling to lambdas inside inline variables and variable templates. 2017-09-22 04:25:05 +00:00
Mangle.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
MicrosoftCXXABI.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
MicrosoftMangle.cpp [MS] Mangle a hash of the main file path into anonymous namespaces 2018-08-17 20:59:27 +00:00
NSAPI.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
NestedNameSpecifier.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
ODRHash.cpp [ODRHash] Support hashing enums. 2018-07-25 22:52:05 +00:00
OpenMPClause.cpp [OPENMP] Fix emission of the loop doacross constructs. 2018-08-13 19:04:24 +00:00
ParentMap.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
QualTypeNames.cpp Remove \brief commands from doxygen comments. 2018-05-09 01:00:01 +00:00
RawCommentList.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
RecordLayout.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
RecordLayoutBuilder.cpp Improve support of PDB as an external layout source 2018-07-31 08:27:06 +00:00
SelectorLocationsKind.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +00:00
Stmt.cpp Fix Stmt::ignoreImplicit 2018-08-14 21:33:28 +00:00
StmtCXX.cpp [AST] Use llvm::TrailingObjects in CXXTryStmt 2018-07-23 12:45:24 +00:00
StmtIterator.cpp [AST] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-11-21 23:26:08 +00:00
StmtObjC.cpp Port getLocEnd -> getEndLoc 2018-08-09 21:09:38 +00:00
StmtOpenMP.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
StmtPrinter.cpp Port getLocStart -> getBeginLoc 2018-08-09 21:08:08 +00:00
StmtProfile.cpp [coroutines] Fix handling of dependent co_await in StmtProfiler. 2018-07-31 00:47:41 +00:00
StmtViz.cpp
TemplateBase.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
TemplateName.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
Type.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
TypeLoc.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
TypePrinter.cpp Model type attributes as regular Attrs. 2018-08-20 21:47:29 +00:00
VTTBuilder.cpp Remove trailing space 2018-07-30 19:24:48 +00:00
VTableBuilder.cpp Remove trailing space 2018-07-30 19:24:48 +00:00