llvm-project/clang-tools-extra
Roman Lebedev a3dc9484e3 [clang-tidy] ExprMutationAnalyzer: construct from references. Fixes PR38888
Summary:
I have hit this the rough way, while trying to use this in D51870.

There is no particular point in storing the pointers, and moreover
the pointers are assumed to be non-null, and that assumption is not
enforced. If they are null, it won't be able to do anything good
with them anyway.

Initially i thought about simply adding asserts() that they are
not null, but taking/storing references looks like even cleaner solution?

Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=38888 | PR38888 ]]

Reviewers: JonasToth, shuaiwang, alexfh, george.karpenkov

Reviewed By: shuaiwang

Subscribers: xazax.hun, a.sidorin, Szelethus, cfe-commits

Tags: #clang-tools-extra

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

llvm-svn: 341854
2018-09-10 19:59:18 +00:00
..
change-namespace Port getLocEnd -> getEndLoc 2018-08-09 22:43:02 +00:00
clang-apply-replacements Replace hardcoded format styles in a few tools with the default style in libFormat. 2018-08-02 10:30:56 +00:00
clang-doc [clang-doc] Fix memory leaks 2018-08-24 16:43:46 +00:00
clang-move [clang-move] Explicitly ignore implicit UsingDirectiveDecls instead of depending on them missing source locations 2018-08-31 03:51:33 +00:00
clang-query Add preload option to clang-query 2018-08-30 23:25:44 +00:00
clang-reorder-fields [CMake] Use PRIVATE in target_link_libraries for executables 2017-12-05 21:49:56 +00:00
clang-tidy [clang-tidy] ExprMutationAnalyzer: construct from references. Fixes PR38888 2018-09-10 19:59:18 +00:00
clang-tidy-vs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
clangd [clangd] Unbreak buildbots after r341802 2018-09-10 14:31:38 +00:00
docs ReleaseNotes: update links to use https 2018-09-10 08:52:04 +00:00
include-fixer Replace hardcoded format styles in a few tools with the default style in libFormat. 2018-08-02 10:30:56 +00:00
modularize NFC: Enforce good formatting across multiple clang-tools-extra files 2018-08-14 16:03:32 +00:00
pp-trace Reland "[tools] Updating PPCallbacks::InclusionDirective calls" 2018-05-10 19:13:14 +00:00
test [clang-tidy] Abseil: Allow macros inside of absl to use internal absl things 2018-09-07 09:25:23 +00:00
tool-template Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
unittests [clang-tidy] ExprMutationAnalyzer: construct from references. Fixes PR38888 2018-09-10 19:59:18 +00:00
.arcconfig [clang-tools-extra] Set up .arcconfig to point to new Diffusion CTE repository 2017-11-27 15:58:25 +00:00
.gitignore
CMakeLists.txt [clang-doc] Reland "[clang-doc] Setup clang-doc frontend framework" 2018-03-22 23:34:46 +00:00
CODE_OWNERS.TXT
LICENSE.TXT Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
README.txt

README.txt

//===----------------------------------------------------------------------===//
// Clang Tools repository
//===----------------------------------------------------------------------===//

Welcome to the repository of extra Clang Tools.  This repository holds tools
that are developed as part of the LLVM compiler infrastructure project and the
Clang frontend.  These tools are kept in a separate "extra" repository to
allow lighter weight checkouts of the core Clang codebase.

This repository is only intended to be checked out inside of a full LLVM+Clang
tree, and in the 'tools/extra' subdirectory of the Clang checkout.

All discussion regarding Clang, Clang-based tools, and code in this repository
should be held using the standard Clang mailing lists:
  http://lists.llvm.org/mailman/listinfo/cfe-dev

Code review for this tree should take place on the standard Clang patch and
commit lists:
  http://lists.llvm.org/mailman/listinfo/cfe-commits

If you find a bug in these tools, please file it in the LLVM bug tracker:
  http://llvm.org/bugs/