Chandler Carruth
5b717f3439
[gtest] The way EXPECT_TEST now works after upgrading gtest triggers an
...
ODR use. These traits don't have a definition as they're intended to be
used strictly at compile time. Change the tests to use static_assert to
move the entire thing into compile-time.
llvm-svn: 291036
2017-01-04 23:57:25 +00:00
Richard Smith
57aae07b4a
DR1315: a non-type template argument in a partial specialization is permitted
...
to make reference to template parameters. This is only a partial
implementation; we retain the restriction that the argument must not be
type-dependent, since it's unclear how that would work given the existence of
other language rules requiring an exact type match in this context, even for
type-dependent cases (a question has been raised on the core reflector).
llvm-svn: 290647
2016-12-28 02:37:25 +00:00
Malcolm Parsons
77f039bf58
[ASTMatcher] Add hasReplacementType matcher for SubstTemplateTypeParmType
...
Summary: Needed for https://reviews.llvm.org/D27166
Reviewers: sbenza, bkramer, klimek
Subscribers: aemerson, cfe-commits
Differential Revision: https://reviews.llvm.org/D27447
llvm-svn: 289042
2016-12-08 11:46:22 +00:00
Manuel Klimek
a37e110def
Adds hasUnqualifiedDesugaredType to allow matching through type sugar.
...
Differential Revision: https://reviews.llvm.org/D27207
llvm-svn: 288366
2016-12-01 15:45:06 +00:00
Malcolm Parsons
7d96c334d2
[ASTMatcher] Add CXXNewExpr support to hasDeclaration
...
Reviewers: sbenza, lukasza, aaron.ballman, klimek
Subscribers: lukasza, sbenza, cfe-commits
Differential Revision: https://reviews.llvm.org/D26032
llvm-svn: 285644
2016-10-31 22:04:07 +00:00
Nico Weber
6339f1a028
Traversing template paramter lists of DeclaratorDecls and/or TagDecls.
...
The unit tests in this patch demonstrate the need to traverse template
parameter lists of DeclaratorDecls (e.g. VarDecls, CXXMethodDecls) and
TagDecls (e.g. EnumDecls, RecordDecls).
Fixes PR29042.
https://reviews.llvm.org/D24268
Patch from Lukasz
Łukasz Anforowicz <lukasza@chromium.org>!
llvm-svn: 281345
2016-09-13 15:05:04 +00:00
Martin Bohme
8cef2c2f2d
[ASTMatchers] Add matchers canReferToDecl() and hasUnderlyingDecl()
...
Summary: Required for D22220
Reviewers: sbenza, klimek, aaron.ballman, alexfh
Subscribers: alexfh, klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D23004
llvm-svn: 278123
2016-08-09 15:07:52 +00:00
Haojian Wu
b33b02e9f0
[ASTMatcher] Add templateName matcher.
...
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D22963
llvm-svn: 277155
2016-07-29 15:45:11 +00:00
Haojian Wu
d898b0982a
[ASTMatcher] Add hasTemplateArgument/hasAnyTemplateArgument support in functionDecl.
...
Reviewers: klimek
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D22957
llvm-svn: 277142
2016-07-29 13:57:27 +00:00
Clement Courbet
6ecaec83ba
[ASTMatchers] New forEachOverriden matcher.
...
Matches methods overridden by the given method.
llvm-svn: 274531
2016-07-05 07:49:31 +00:00
Cong Liu
8a02efb143
IgnoringImplicit matcher.
...
llvm-svn: 273659
2016-06-24 09:38:03 +00:00
Chandler Carruth
b1bcd5dc7b
Revert "[ASTMatchers] New forEachOverriden matcher."
...
This reverts commit r272386. It doesn't compile with MSVC and those bots
have been red the entire day as a consequence.
llvm-svn: 272453
2016-06-11 04:45:38 +00:00
Clement Courbet
8251ebfac6
[ASTMatchers] New forEachOverriden matcher.
...
Matches methods overridden by the given method.
llvm-svn: 272386
2016-06-10 11:54:43 +00:00
Piotr Padlewski
cfed2bf588
[ASTMatchers] Breaking change of `has` matcher
...
has matcher can now match to implicit and paren casts
http://reviews.llvm.org/D20801
llvm-svn: 271288
2016-05-31 15:25:05 +00:00
Etienne Bergeron
5500f95a00
[ASTMatchers] Add support of hasCondition for SwitchStmt.
...
Summary:
The switch statement could be added to the hasCondition matcher.
Example:
```
clang-query> match switchStmt(hasCondition(ignoringImpCasts(declRefExpr())))
```
Output:
```
Match #1 :
Binding for "root":
SwitchStmt 0x2f9b528 </usr/local/google/home/etienneb/examples/enum.cc:35:3, line:38:3>
|-<<<NULL>>>
|-ImplicitCastExpr 0x2f9b510 <line:35:11> 'int' <IntegralCast>
| `-ImplicitCastExpr 0x2f9b4f8 <col:11> 'enum Color' <LValueToRValue>
| `-DeclRefExpr 0x2f9b4d0 <col:11> 'enum Color' lvalue Var 0x2f9a118 'C' 'enum Color'
`-CompoundStmt 0x2f9b610 <col:14, line:38:3>
|-CaseStmt 0x2f9b578 <line:36:3, col:22>
| |-ImplicitCastExpr 0x2f9b638 <col:8> 'int' <IntegralCast>
| | `-DeclRefExpr 0x2f9b550 <col:8> 'enum Size' EnumConstant 0x2f99e40 'Small' 'enum Size'
| |-<<<NULL>>>
| `-ReturnStmt 0x2f9b5d0 <col:15, col:22>
| `-IntegerLiteral 0x2f9b5b0 <col:22> 'int' 1
`-DefaultStmt 0x2f9b5f0 <line:37:3, col:12>
`-BreakStmt 0x2f9b5e8 <col:12>
1 match.
```
Reviewers: aaron.ballman, sbenza, klimek
Subscribers: klimek, cfe-commits
Differential Revision: http://reviews.llvm.org/D20767
llvm-svn: 271208
2016-05-30 15:25:25 +00:00
Piotr Padlewski
c6e0502997
Dividied ASTMatcherTests into 4 files
...
fix for long compilation [20061]
http://reviews.llvm.org/D20210
llvm-svn: 269802
2016-05-17 19:22:57 +00:00