forked from OSchip/llvm-project
c0bcd11068
Right now the ASTImporter assumes for most Expr nodes that they are always equal which leads to non-compatible declarations ending up being merged. This patch adds the basic framework for comparing Stmts (and with that also Exprs) and implements the custom checks for a few Stmt subclasses. I'll implement the remaining subclasses in follow up patches (mostly because there are a lot of subclasses and some of them require further changes like having GNU language in the testing framework) The motivation for this is that in LLDB we try to import libc++ source code and some of the types we are importing there contain expressions (e.g. because they use `enable_if<expr>`), so those declarations are currently merged even if they are completely different (e.g. `enable_if<value> ...` and `enable_if<!value> ...` are currently considered equal which is clearly not true). Reviewed By: martong, balazske Differential Revision: https://reviews.llvm.org/D87444 |
||
---|---|---|
.. | ||
ASTContextParentMapTest.cpp | ||
ASTImporterFixtures.cpp | ||
ASTImporterFixtures.h | ||
ASTImporterGenericRedeclTest.cpp | ||
ASTImporterODRStrategiesTest.cpp | ||
ASTImporterTest.cpp | ||
ASTImporterVisibilityTest.cpp | ||
ASTPrint.h | ||
ASTTraverserTest.cpp | ||
ASTTypeTraitsTest.cpp | ||
ASTVectorTest.cpp | ||
CMakeLists.txt | ||
CommentLexer.cpp | ||
CommentParser.cpp | ||
CommentTextTest.cpp | ||
DataCollectionTest.cpp | ||
DeclMatcher.h | ||
DeclPrinterTest.cpp | ||
DeclTest.cpp | ||
EvaluateAsRValueTest.cpp | ||
ExternalASTSourceTest.cpp | ||
MatchVerifier.h | ||
NamedDeclPrinterTest.cpp | ||
RecursiveASTVisitorTest.cpp | ||
SizelessTypesTest.cpp | ||
SourceLocationTest.cpp | ||
StmtPrinterTest.cpp | ||
StructuralEquivalenceTest.cpp |