llvm-project/clang-tools-extra
Alexander Kornienko a0ddf5fc1c [clang-tidy] readability-braces-around-statements false positive with char literals
Summary:
Single-line if statements cause a false positive when the last token in the conditional statement is a char constant:

```
if (condition)
  return 'a';
```

For some reason `findEndLocation` seems to skips too many (vertical) whitespaces in this case. The same problem already occured with string literals (https://reviews.llvm.org/D25558), and was fixed by adding a special check for this very case. I just extended the condition to also include char constants. No idea what really causes the issue though.

Reviewers: alexfh

Reviewed By: alexfh

Subscribers: xazax.hun, cfe-commits

Patch by Florian Gross!
Differential Revision: https://reviews.llvm.org/D33354

llvm-svn: 303551
2017-05-22 13:58:16 +00:00
..
change-namespace [change-namespace] avoid adding leading '::' when possible. 2017-03-21 12:41:59 +00:00
clang-apply-replacements Update tools to use new getStyle API 2017-01-17 00:13:32 +00:00
clang-move [clang-move] Find template class forward declarations more precisely. 2017-05-02 12:15:11 +00:00
clang-query modernize-use-auto NFC fixes 2016-12-14 15:29:23 +00:00
clang-rename clang-rename: fix formatting 2017-04-23 16:07:06 +00:00
clang-reorder-fields [clang-rename] Fix handling of unchanged files 2016-09-17 17:08:47 +00:00
clang-tidy [clang-tidy] readability-braces-around-statements false positive with char literals 2017-05-22 13:58:16 +00:00
clang-tidy-vs Remove 'misc-pointer-and-integral-operation' clang-tidy check. The only cases 2016-10-21 21:50:28 +00:00
clangd [clangd] Switch to incomplete translation units 2017-05-22 12:49:08 +00:00
docs [clang-tidy] Add "emplace_back" detection in inefficient-vector-operation. 2017-05-16 10:39:55 +00:00
include-fixer Recommit "[include-fixer] Don't throw exception when parsing unknown ar… …guments in vim script." 2017-05-17 14:13:59 +00:00
modularize Fix memory leak by using unique_ptr 2017-02-11 05:25:21 +00:00
pp-trace Fix API breaks 2017-04-26 20:58:03 +00:00
test [clangd] Make formatting.test asynchronous again. 2017-05-18 20:10:04 +00:00
tool-template [clang-tools-extra] Format sources with clang-format. NFC. 2016-11-08 07:50:19 +00:00
unittests [clang-move] Find template class forward declarations more precisely. 2017-05-02 12:15:11 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.gitignore
CMakeLists.txt Add a prototype for clangd 2017-02-07 10:28:20 +00:00
CODE_OWNERS.TXT
LICENSE.TXT Rename the clang-tidy safety module to be hicpp, for the High-Integrity C++ coding standard from PRQA. 2017-03-19 17:23:23 +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/