llvm-project/clang-tools-extra
Roman Lebedev c367ba1923 [clang-tidy] cppcoreguidelines-macro-usage: print macro names
Summary:
The macro may not have location (or more generally, the location may not exist),
e.g. if it originates from compiler's command-line.

The check complains on all the macros, even those without the location info.
Which means, it only says it does not like it. What is 'it'? I have no idea.
If we don't print the name, then there is no way to deal with that situation.

And in general, not printing name here forces the user to try to understand,
given, the macro definition location, what is the macro name?
This isn't fun.

Also, ignores-by-default the macros originating from command-line,
with an option to not ignore those.

I suspect some more issues may crop up later.

Reviewers: JonasToth, aaron.ballman, hokein, xazax.hun, alexfh

Reviewed By: JonasToth, aaron.ballman

Subscribers: nemanjai, kbarton, rnkovacs, cfe-commits

Tags: #clang-tools-extra

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

llvm-svn: 345610
2018-10-30 15:52:36 +00:00
..
change-namespace [change-namespace] Enhance detection of conflicting namespaces. 2018-10-22 12:48:49 +00:00
clang-apply-replacements Deduplicate replacements from diagnostics. 2018-09-25 08:24:07 +00:00
clang-doc [clang-doc] Switch to default to all-TUs executor 2018-10-26 19:11:34 +00:00
clang-move [clang-move] Remove clang:: qualifier 2018-10-11 16:09:26 +00:00
clang-query [clang-query] Add non-exclusive output API 2018-10-29 18:59:56 +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] cppcoreguidelines-macro-usage: print macro names 2018-10-30 15:52:36 +00:00
clang-tidy-vs Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
clangd [clangd] Use thread pool for background indexing. 2018-10-30 12:13:27 +00:00
docs [clang-tidy] cppcoreguidelines-macro-usage: print macro names 2018-10-30 15:52:36 +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 [pp-trace] Remove unused using directives 2018-09-18 06:57:58 +00:00
test [clang-tidy] cppcoreguidelines-macro-usage: print macro names 2018-10-30 15:52:36 +00:00
tool-template Port getLocStart -> getBeginLoc 2018-08-09 22:42:26 +00:00
unittests [clang-query] Add non-exclusive output API 2018-10-29 18:59:56 +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-tidy] Build it even without static analyzer 2018-10-01 20:24:22 +00:00
CODE_OWNERS.TXT Updating the code owners list. 2015-09-02 20:00:41 +00:00
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/