#
4ffcec40 |
| 10-Jan-2020 |
Reid <rhiro@google.com> |
Implement new AST matcher hasAnyCapture to match on LambdaExpr captures.
Accepts child matchers cxxThisExpr to match on capture of this and also on varDecl.
|
#
2823e91d |
| 08-Jan-2020 |
Rihan Yang <adam@air20.com> |
Add a new AST matcher 'optionally'.
This matcher matches any node and at the same time executes all its inner matchers to produce any possbile result bindings.
This is useful when a user wants cert
Add a new AST matcher 'optionally'.
This matcher matches any node and at the same time executes all its inner matchers to produce any possbile result bindings.
This is useful when a user wants certain supplementary information that's not always present along with the main match result.
show more ...
|
#
7a77ad14 |
| 08-Jan-2020 |
Aaron Ballman <aaron@aaronballman.com> |
Fixing a formatting nit; NFC
|
#
ec3d8e61 |
| 02-Jan-2020 |
Nathan James <n.james93@hotmail.co.uk> |
Handle init statements in readability-else-after-return
Adds a new ASTMatcher condition called 'hasInitStatement()' that matches if, switch and range-for statements with an initializer. Reworked cla
Handle init statements in readability-else-after-return
Adds a new ASTMatcher condition called 'hasInitStatement()' that matches if, switch and range-for statements with an initializer. Reworked clang-tidy readability-else-after-return to handle variables in the if condition or init statements in c++17 ifs. Also checks if removing the else would affect object lifetimes in the else branch.
Fixes PR44364.
show more ...
|
Revision tags: llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
#
2b3d49b6 |
| 14-Aug-2019 |
Jonas Devlieghere <jonas@devlieghere.com> |
[Clang] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement o
[Clang] Migrate llvm::make_unique to std::make_unique
Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo.
Differential revision: https://reviews.llvm.org/D66259
llvm-svn: 368942
show more ...
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1 |
|
#
4e1d188b |
| 25-Jul-2019 |
Anton Bikineev <ant.bikineev@gmail.com> |
[clang] Add isDirectlyDerivedFrom AST matcher.
Differential Revision: https://reviews.llvm.org/D65092
llvm-svn: 367010
|
Revision tags: llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3 |
|
#
e1f4ba85 |
| 19-Jun-2019 |
Gauthier Harnisch <tyker1@outlook.com> |
[clang] Adapt ASTMatcher to explicit(bool) specifier
Summary: Changes: - add an ast matcher for deductiong guide. - allow isExplicit matcher for deductiong guide. - add hasExplicitSpecifier match
[clang] Adapt ASTMatcher to explicit(bool) specifier
Summary: Changes: - add an ast matcher for deductiong guide. - allow isExplicit matcher for deductiong guide. - add hasExplicitSpecifier matcher which give access to the expression of the explicit specifier if present.
Reviewers: klimek, rsmith, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: aaron.ballman, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D61552
llvm-svn: 363855
show more ...
|
#
31d68804 |
| 13-Jun-2019 |
Dmitri Gribenko <gribozavr@gmail.com> |
Added AST matcher for ignoring elidable constructors
Summary: Added AST matcher for ignoring elidable move constructors
Reviewers: hokein, gribozavr
Reviewed By: hokein, gribozavr
Subscribers: cf
Added AST matcher for ignoring elidable constructors
Summary: Added AST matcher for ignoring elidable move constructors
Reviewers: hokein, gribozavr
Reviewed By: hokein, gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63149
Patch by Johan Vikström.
llvm-svn: 363262
show more ...
|
Revision tags: llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
#
b641b914 |
| 03-May-2019 |
Dmitri Gribenko <gribozavr@gmail.com> |
Added an AST matcher for declarations that are in the `std` namespace
Reviewers: alexfh
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D61480
llvm-svn: 359
Added an AST matcher for declarations that are in the `std` namespace
Reviewers: alexfh
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D61480
llvm-svn: 359876
show more ...
|
#
a282bde6 |
| 22-Apr-2019 |
Ben Hamilton <benhamilton@google.com> |
[ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and `isInstanceMethod`
Summary: isClassMessage is an equivalent to isInstanceMessage for ObjCMessageExpr, but matches
[ASTMatchers] Introduce Objective-C matchers `isClassMessage`, `isClassMethod`, and `isInstanceMethod`
Summary: isClassMessage is an equivalent to isInstanceMessage for ObjCMessageExpr, but matches message expressions to classes.
isClassMethod and isInstanceMethod check whether a method declaration (or definition) is for a class method or instance method (respectively).
Contributed by @mywman!
Reviewers: benhamilton, klimek, mwyman
Reviewed By: benhamilton, mwyman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D60920
llvm-svn: 358904
show more ...
|
#
c8161957 |
| 21-Mar-2019 |
Roman Lebedev <lebedev.ri@gmail.com> |
[ASTMatchers][OpenMP] OpenMP Structured-block-related matchers
Summary: Exposes to the for ASTMatchers the interface/modelling of OpenMP structured-block.
Reviewers: gribozavr, aaron.ballman, Jona
[ASTMatchers][OpenMP] OpenMP Structured-block-related matchers
Summary: Exposes to the for ASTMatchers the interface/modelling of OpenMP structured-block.
Reviewers: gribozavr, aaron.ballman, JonasToth, george.karpenkov
Reviewed By: gribozavr, aaron.ballman
Subscribers: guansong, jdoerfert, cfe-commits
Tags: #clang, #openmp
Differential Revision: https://reviews.llvm.org/D59463
llvm-svn: 356676
show more ...
|
#
33ef20ec |
| 21-Mar-2019 |
Roman Lebedev <lebedev.ri@gmail.com> |
[ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling
Summary: `OMPClause` is the base class, it is not descendant from **any** other class, therefore for it to work with e.g. `VariadicDynCastAllO
[ASTTypeTraits][ASTMatchers][OpenMP] OMPClause handling
Summary: `OMPClause` is the base class, it is not descendant from **any** other class, therefore for it to work with e.g. `VariadicDynCastAllOfMatcher<>`, it needs to be handled here.
Reviewers: sbenza, bkramer, pcc, klimek, hokein, gribozavr, aaron.ballman, george.karpenkov
Reviewed By: gribozavr, aaron.ballman
Subscribers: guansong, jdoerfert, alexfh, ABataev, cfe-commits
Tags: #openmp, #clang
Differential Revision: https://reviews.llvm.org/D57112
llvm-svn: 356675
show more ...
|
#
de0e4ae0 |
| 21-Mar-2019 |
Roman Lebedev <lebedev.ri@gmail.com> |
[ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher.
Summary: A simple matcher for `OMPExecutableDirective` Stmt type. Split off from D57113.
Reviewers: gribozavr, aaron.ballman, JonasT
[ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher.
Summary: A simple matcher for `OMPExecutableDirective` Stmt type. Split off from D57113.
Reviewers: gribozavr, aaron.ballman, JonasToth, george.karpenkov
Reviewed By: gribozavr, aaron.ballman
Subscribers: guansong, jdoerfert, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D59453
llvm-svn: 356674
show more ...
|
#
8e0b2fb9 |
| 20-Mar-2019 |
Roman Lebedev <lebedev.ri@gmail.com> |
[NFC][ASTMatchers] Alphabetically sort REGISTER_MATCHER() macros in RegistryMaps::RegistryMaps()
As noted in https://reviews.llvm.org/D59453#inline-526253
llvm-svn: 356578
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3 |
|
#
521f004e |
| 26-Feb-2019 |
Tom Roeder <tmroeder@google.com> |
[ASTImporter] Add support for importing ChooseExpr AST nodes.
Summary: This allows ASTs to be merged when they contain ChooseExpr (the GNU __builtin_choose_expr construction). This is needed, for ex
[ASTImporter] Add support for importing ChooseExpr AST nodes.
Summary: This allows ASTs to be merged when they contain ChooseExpr (the GNU __builtin_choose_expr construction). This is needed, for example, for cross-CTU analysis of C code that makes use of __builtin_choose_expr.
The node is already supported in the AST, but it didn't have a matcher in ASTMatchers. So, this change adds the matcher and adds support to ASTImporter.
This was originally reviewed and approved in https://reviews.llvm.org/D58292 and submitted as r354832. It was reverted in r354839 due to failures on the Windows CI builds.
This version fixes the test failures on Windows, which were caused by differences in template expansion between versions of clang on different OSes. The version of clang built with MSVC and running on Windows never expands the template in the C++ test in ImportExpr.ImportChooseExpr in clang/unittests/AST/ASTImporter.cpp, but the version on Linux does for the empty arguments and -fms-compatibility.
So, this version of the patch drops the C++ test for __builtin_choose_expr, since that version was written to catch regressions of the logic for isConditionTrue() in the AST import code for ChooseExpr, and those regressions are also caught by ASTImporterOptionSpecificTestBase.ImportChooseExpr, which does work on Windows.
Reviewers: shafik, a_sidorin, martong, aaron.ballman, rnk, a.sidorin
Subscribers: cfe-commits, jdoerfert, rnkovacs, aaron.ballman
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58663
llvm-svn: 354916
show more ...
|
#
1144084c |
| 26-Feb-2019 |
Reid Kleckner <rnk@google.com> |
Revert r354832 "[ASTImporter] Add support for importing ChooseExpr AST nodes."
Test does not pass on Windows
llvm-svn: 354839
|
#
9a728701 |
| 25-Feb-2019 |
Tom Roeder <tmroeder@google.com> |
[ASTImporter] Add support for importing ChooseExpr AST nodes.
Summary: This allows ASTs to be merged when they contain ChooseExpr (the GNU __builtin_choose_expr construction). This is needed, for ex
[ASTImporter] Add support for importing ChooseExpr AST nodes.
Summary: This allows ASTs to be merged when they contain ChooseExpr (the GNU __builtin_choose_expr construction). This is needed, for example, for cross-CTU analysis of C code that makes use of __builtin_choose_expr.
The node is already supported in the AST, but it didn't have a matcher in ASTMatchers. So, this change adds the matcher and adds support to ASTImporter.
Reviewers: shafik, a_sidorin, martong, aaron.ballman
Subscribers: aaron.ballman, rnkovacs, jdoerfert, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D58292
llvm-svn: 354832
show more ...
|
Revision tags: llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1 |
|
#
2946cd70 |
| 19-Jan-2019 |
Chandler Carruth <chandlerc@gmail.com> |
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the ne
Update the file headers across all of the LLVM projects in the monorepo to reflect the new license.
We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach.
Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository.
llvm-svn: 351636
show more ...
|
#
2cd40c01 |
| 07-Jan-2019 |
Hyrum Wright <hwright@google.com> |
[clang] Add AST matcher for initializer list members
Summary: Much like hasArg for various call expressions, this allows LibTooling users to match against a member of an initializer list.
This is c
[clang] Add AST matcher for initializer list members
Summary: Much like hasArg for various call expressions, this allows LibTooling users to match against a member of an initializer list.
This is currently being used as part of the abseil-duration-scale clang-tidy check.
Differential Revision: https://reviews.llvm.org/D56090
llvm-svn: 350523
show more ...
|
#
7df342a4 |
| 17-Dec-2018 |
Gabor Marton <martongabesz@gmail.com> |
[ASTImporter] Fix redecl chain of classes and class templates
Summary: The crux of the issue that is being fixed is that lookup could not find previous decls of a friend class. The solution involves
[ASTImporter] Fix redecl chain of classes and class templates
Summary: The crux of the issue that is being fixed is that lookup could not find previous decls of a friend class. The solution involves making the friend declarations visible in their decl context (i.e. adding them to the lookup table). Also, we simplify `VisitRecordDecl` greatly.
This fix involves two other repairs (without these the unittests fail): (1) We could not handle the addition of injected class types properly when a redecl chain was involved, now this is fixed. (2) DeclContext::removeDecl failed if the lookup table in Vector form did not contain the to be removed element. This caused troubles in ASTImporter::ImportDeclContext. This is also fixed.
Reviewers: a_sidorin, balazske, a.sidorin
Subscribers: rnkovacs, dkrupp, Szelethus, cfe-commits
Differential Revision: https://reviews.llvm.org/D53655
llvm-svn: 349349
show more ...
|
#
3897b2dc |
| 13-Dec-2018 |
Stephane Moore <mog@google.com> |
[clang] Add AST matcher for block expressions
Summary: This change adds a new AST matcher for block expressions.
Test Notes: Ran the clang unit tests.
Reviewers: aaron.ballman
Reviewed By: aar
[clang] Add AST matcher for block expressions
Summary: This change adds a new AST matcher for block expressions.
Test Notes: Ran the clang unit tests.
Reviewers: aaron.ballman
Reviewed By: aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D55546
llvm-svn: 349004
show more ...
|
#
5cdc2cda |
| 12-Dec-2018 |
Eric Fiselier <eric@efcs.ca> |
[AST] Store "UsesADL" information in CallExpr.
Summary: Currently the Clang AST doesn't store information about how the callee of a CallExpr was found. Specifically if it was found using ADL.
Howev
[AST] Store "UsesADL" information in CallExpr.
Summary: Currently the Clang AST doesn't store information about how the callee of a CallExpr was found. Specifically if it was found using ADL.
However, this information is invaluable to tooling. Consider a tool which renames usages of a function. If the originally CallExpr was formed using ADL, then the tooling may need to additionally qualify the replacement. Without information about how the callee was found, the tooling is left scratching it's head. Additionally, we want to be able to match ADL calls as quickly as possible, which means avoiding computing the answer on the fly.
This patch changes `CallExpr` to store whether it's callee was found using ADL. It does not change the size of any AST nodes.
Reviewers: fowles, rsmith, klimek, shafik
Reviewed By: rsmith
Subscribers: aaron.ballman, riccibruno, calabrese, titus, cfe-commits
Differential Revision: https://reviews.llvm.org/D55534
llvm-svn: 348977
show more ...
|
Revision tags: llvmorg-7.0.1, llvmorg-7.0.1-rc3 |
|
#
a6144db1 |
| 22-Nov-2018 |
Clement Courbet <courbet@google.com> |
Revert rL347462 "[ASTMatchers] Add hasSideEffect() matcher."
Breaks some buildbots.
llvm-svn: 347463
|
#
c022c51f |
| 22-Nov-2018 |
Clement Courbet <courbet@google.com> |
[ASTMatchers] Add hasSideEffect() matcher.
Summary: Exposes Expr::HasSideEffects.
Reviewers: aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D54830
llvm-sv
[ASTMatchers] Add hasSideEffect() matcher.
Summary: Exposes Expr::HasSideEffects.
Reviewers: aaron.ballman
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D54830
llvm-svn: 347462
show more ...
|
#
295aa09d |
| 09-Nov-2018 |
Jonas Toth <jonas.toth@gmail.com> |
[ASTMatchers] overload ignoringParens for Expr
Summary: This patch allows fixing PR39583.
Reviewers: aaron.ballman, sbenza, klimek
Reviewed By: aaron.ballman
Subscribers: cfe-commits
Tags: #clan
[ASTMatchers] overload ignoringParens for Expr
Summary: This patch allows fixing PR39583.
Reviewers: aaron.ballman, sbenza, klimek
Reviewed By: aaron.ballman
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D54307
llvm-svn: 346554
show more ...
|