llvm-project/clang-tools-extra
Matthias Gehre 41a83a7d2b [clang-tidy] fix for NOLINT after macro expansion
Summary:
When having
``` c++
    #define MACRO code-with-warning
    MACRO; // NOLINT
```
clang-tidy would still show the warning, because
it searched for "NOLINT" only in the first line,
not on the second.
This caused e.g. https://llvm.org/bugs/show_bug.cgi?id=29089
(where the macro was defined in a system header). See also
the added test cases.
Now clang-tidy looks at the line of macro invocation and every line
of macro definition for a NOLINT comment.

Reviewers: alexfh, aaron.ballman, hokein

Subscribers: cfe-commits

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

llvm-svn: 282330
2016-09-24 16:06:53 +00:00
..
change-namespace [change-namespace] fix qualifier of function references. 2016-09-22 11:54:00 +00:00
clang-apply-replacements Changes related to new implementation of tooling::Replacements as class. 2016-08-01 10:16:39 +00:00
clang-move [clang-move] The new.cc file should include new_header.h instead of old_header.h 2016-09-23 13:28:38 +00:00
clang-query Update to match LLVM r272232. 2016-06-09 00:54:42 +00:00
clang-rename [clang-rename] Fix handling of unchanged files 2016-09-17 17:08:47 +00:00
clang-reorder-fields [clang-rename] Fix handling of unchanged files 2016-09-17 17:08:47 +00:00
clang-tidy [clang-tidy] fix for NOLINT after macro expansion 2016-09-24 16:06:53 +00:00
clang-tidy-vs Fix a few oversights in the clang-tidy VS plugin. 2016-09-07 19:41:19 +00:00
docs [clang-tidy] Add doc for `explain-config` option. 2016-09-22 14:36:43 +00:00
include-fixer [include-fixer] Support finding headers for the symbol under cursor. 2016-09-07 16:34:35 +00:00
modularize Adapt to TraverseLambdaCapture interface change from D23204 2016-08-17 15:00:22 +00:00
pp-trace Fix Clang-tidy modernize-deprecated-headers warnings; other minor fixes. 2016-03-17 17:02:25 +00:00
test [clang-tidy] fix for NOLINT after macro expansion 2016-09-24 16:06:53 +00:00
tool-template Changes related to new implementation of tooling::Replacements as class. 2016-08-01 10:16:39 +00:00
unittests [clang-move] The new.cc file should include new_header.h instead of old_header.h 2016-09-23 13:28:38 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.gitignore .gitignore: ignore docs/_build 2013-03-03 15:15:12 +00:00
CMakeLists.txt [clang-move] A prototype tool for moving class definition to new file. 2016-09-21 13:18:19 +00:00
CODE_OWNERS.TXT Updating the code owners list. 2015-09-02 20:00:41 +00:00
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:38:47 +00:00
README.txt Update references to new lists.llvm.org mailing lists. 2015-08-05 03:56:44 +00:00

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/