llvm-project/clang/lib/AST
Samuel Benzaquen a117002d93 Fix bug in DynTypedMatcher::constructVariadic() that would cause false negatives.
Summary:
DynTypedMatcher::constructVariadic() where the restrict kind of the
different matchers are not related causes the matcher to have a "None"
restrict kind. This causes false negatives for anyOf and eachOf.
Change the logic to get a common ancestor if there is one.
Also added regression tests that fail without the fix.

Reviewers: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D5580

llvm-svn: 219118
2014-10-06 13:14:30 +00:00
..
APValue.cpp Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 06:28:36 +00:00
ASTConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
ASTContext.cpp Return a reference instead of vector copy for parentmap queries. 2014-10-04 17:01:26 +00:00
ASTDiagnostic.cpp Refactor one of the larger functions for Type Diffing into smaller functions. 2014-08-27 06:24:47 +00:00
ASTDumper.cpp Don't print 'NULL TYPE' when dumping a delegating constructor. 2014-09-12 21:20:53 +00:00
ASTImporter.cpp -ms-extensions: Implement __super scope specifier (PR13236). 2014-09-26 00:28:20 +00:00
ASTTypeTraits.cpp Fix bug in DynTypedMatcher::constructVariadic() that would cause false negatives. 2014-10-06 13:14:30 +00:00
AttrImpl.cpp Refactor the Microsoft inheritance attribute handling so that it no longer has special treatment. Also fixes a minor bug where the attributes were being parsed as though they were GNU-style attributes when they were in fact keyword attributes. 2013-12-18 23:44:18 +00:00
CMakeLists.txt MS ABI: Don't use the Itanium scheme for numbering lambdas 2014-08-22 04:22:50 +00:00
CXXABI.h Header guard canonicalization, clang part. 2014-08-13 16:25:19 +00:00
CXXInheritance.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Comment.cpp Use llvm::makeArrayRef instead of explicitly calling ArrayRef constructor and mentioning the type. This works now that we have a conversion from ArrayRef<T*> to ArrayRef<const T*>. 2014-08-30 16:55:39 +00:00
CommentBriefParser.cpp Some refactoring in my patch on document 2013-03-02 02:39:57 +00:00
CommentCommandTraits.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
CommentLexer.cpp Fix some cases where StringRef was being passed by const reference. Remove const from some other StringRefs since its implicitly const already. 2014-08-30 16:55:52 +00:00
CommentParser.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
CommentSema.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Decl.cpp ms-inline-asm: Scope inline asm labels to functions 2014-09-22 02:21:54 +00:00
DeclBase.cpp [modules] When performing a lookup into a namespace, ensure that any later 2014-08-13 01:23:33 +00:00
DeclCXX.cpp Fix an assertion failure trying to emit a trivial destructor in ObjC++ 2014-09-26 15:27:29 +00:00
DeclFriend.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclGroup.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclObjC.cpp Objective-C. Change to method lookup rules to look 2014-08-27 20:34:29 +00:00
DeclOpenMP.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
DeclPrinter.cpp Objective-C. Assortment of improvements pretty printing 2014-10-03 20:05:33 +00:00
DeclTemplate.cpp Convert some function arguments to use ArrayRef. 2014-06-26 04:58:53 +00:00
DeclarationName.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Expr.cpp Fix handling of preincrement on bit-fields. This gives a bit-field in C++, but 2014-09-24 23:55:00 +00:00
ExprCXX.cpp -ms-extensions: Implement __super scope specifier (PR13236). 2014-09-26 00:28:20 +00:00
ExprClassification.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
ExprConstant.cpp constexpr evaluation for __builtin_assume_aligned 2014-10-03 17:18:37 +00:00
ExternalASTSource.cpp Move virtual methods out of line. 2014-05-21 14:19:22 +00:00
InheritViz.cpp Refer to error_code with the std prefix. 2014-06-12 20:37:59 +00:00
ItaniumCXXABI.cpp Adds 'override' to overriding methods. NFC. 2014-10-01 16:56:40 +00:00
ItaniumMangle.cpp -ms-extensions: Implement __super scope specifier (PR13236). 2014-09-26 00:28:20 +00:00
Makefile
Mangle.cpp [C++11] Replacing FunctionProtoType iterators param_type_begin() and param_type_end() with iterator_range param_types(). Updating all of the usages of the iterators with range-based for loops. 2014-03-17 15:23:01 +00:00
MicrosoftCXXABI.cpp Adds 'override' to overriding methods. NFC. 2014-10-01 16:56:40 +00:00
MicrosoftMangle.cpp MS ABI: Make comment more accurate 2014-10-05 06:44:55 +00:00
NSAPI.cpp Objective-C modernization. Convert -initWithUTF8String messaging 2014-08-25 20:22:25 +00:00
NestedNameSpecifier.cpp -ms-extensions: Implement __super scope specifier (PR13236). 2014-09-26 00:28:20 +00:00
ParentMap.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
RawCommentList.cpp Comment parsing: when comment ranges are deserialized from multiple modules, 2014-03-27 15:40:39 +00:00
RecordLayout.cpp CXXInfo memory should be released after calling the destructor 2014-05-24 07:19:25 +00:00
RecordLayoutBuilder.cpp MS ABI: Correct layout for empty records 2014-09-30 06:45:43 +00:00
SelectorLocationsKind.cpp
Stmt.cpp [OPENMP] Loop collapsing and codegen for 'omp simd' directive. 2014-10-01 06:03:56 +00:00
StmtIterator.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
StmtPrinter.cpp [OPENMP] Parsing/Sema of directive omp parallel for simd 2014-09-23 09:33:00 +00:00
StmtProfile.cpp [OPENMP] Parsing/Sema of directive omp parallel for simd 2014-09-23 09:33:00 +00:00
StmtViz.cpp
TemplateBase.cpp Added the pack_elements range accessor. Refactoring some for loops to use range-based for loops instead. No functional changes intended. 2014-07-15 21:32:31 +00:00
TemplateName.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
Type.cpp Revert r217995 and follow-ups: 2014-09-18 16:01:32 +00:00
TypeLoc.cpp [C++11] Use 'nullptr'. AST edition. 2014-05-12 05:36:57 +00:00
TypePrinter.cpp Cleanup comparisons to VariableArrayType::Static for non-VLAs 2014-07-19 02:13:40 +00:00
VTTBuilder.cpp [C++11] Replacing CXXRecordDecl iterators bases_begin() and bases_end() with iterator_range bases(). Updating all of the usages of the iterators with range-based for loops. 2014-03-13 15:41:46 +00:00
VTableBuilder.cpp MS ABI: Assert that vftables should have a non-RTTI entry 2014-09-26 08:07:55 +00:00