lp:~pali/llvm/clang-tools-extra-trunk

Created by Pali on 2014-04-12 and last modified on 2017-04-26
Get this branch:
bzr branch lp:~pali/llvm/clang-tools-extra-trunk

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Pali
Project:
LLVM
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the Subversion branch from http://llvm.org/svn/llvm-project/clang-tools-extra/trunk.

The next import is scheduled to run in 1 hour.

Last successful import was 4 hours ago.

Import started 4 hours ago on pear and finished 4 hours ago taking 30 seconds — see the log
Import started 10 hours ago on pear and finished 10 hours ago taking 25 seconds — see the log
Import started 16 hours ago on pear and finished 16 hours ago taking 30 seconds — see the log
Import started 22 hours ago on pear and finished 22 hours ago taking 1 minute — see the log
Import started on 2017-04-26 on pear and finished on 2017-04-26 taking 25 seconds — see the log
Import started on 2017-04-26 on pear and finished on 2017-04-26 taking 30 seconds — see the log
Import started on 2017-04-26 on pear and finished on 2017-04-26 taking 1 minute — see the log
Import started on 2017-04-25 on pear and finished on 2017-04-25 taking 40 seconds — see the log
Import started on 2017-04-25 on pear and finished on 2017-04-25 taking 1 minute — see the log
Import started on 2017-04-25 on pear and finished on 2017-04-25 taking 40 seconds — see the log

Recent revisions

2360. By dblaikie 23 hours ago

Fix API breaks

2359. By hokein on 2017-04-26

[clang-tidy] Support detecting for-range loop in inefficient-vector-operation check.

Summary:
Also add an option "VectorLikeClasses" allowing user specify customized
vectors.

Reviewers: alexfh, aaron.ballman

Reviewed By: alexfh

Subscribers: Eugene.Zelenko, cfe-commits

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

2358. By alexfh on 2017-04-26

[clang-tidy] Update IdentifierNamingCheck to remove extra leading/trailing underscores

Summary:
The goal of this change is to fix the following suboptimal replacements currently suggested by clang-tidy:
```
// with MemberPrefix == "_"
int __foo; // accepted without complaint
```
```
// with MemberPrefix == "m_"
int _foo;
    ^~~~~~
    m__foo
```

I fixed this by
- updating `matchesStyle()` to reject names which have a leading underscore after a prefix has already been stripped, or a trailing underscore if a suffix has already been stripped;
- updating `fixupWithStyle()` to strip leading & trailing underscores before adding the user-defined prefix and suffix.

The replacements are now:
```
// MemberPrefix == "_"
int __foo;
    ^~~~~~
    _foo
```
```
// MemberPrefix == "m_"
int _foo;
    ^~~~~
    m_foo
```

Future improvements might elect to add .clang-tidy flags to improve what is being stripped. For instance, stripping `m_` could allow `m_foo` to be automatically replaced with `_foo`.

Reviewers: alexfh

Reviewed By: alexfh

Subscribers: cfe-commits

Patch by Jacob Bandes-Storch!

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

2357. By kuhar on 2017-04-25

[clang-tidy] run-clang-tidy.py: check if clang-apply-replacements succeeds

Summary:
When running run-clang-tidy.py with -fix it tries to apply found replacements at the end.
If there are errors running clang-apply-replacements, the script currently crashes or displays no error at all.

This patch checks for errors running clang-apply-replacements the same way clang-tidy binary is handled.

Another option would be probably checking for clang-apply-replacements (when -fix is passed) even before running clang-tidy.

Reviewers: Prazek, alexfh, bkramer, mfherbst

Reviewed By: Prazek, alexfh

Subscribers: kimgr, cfe-commits

Tags: #clang-tools-extra

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

2356. By hokein on 2017-04-24

[clang-tidy] Some Cleanups for performance-faster-string-find check.

NFC

2355. By aaronballman on 2017-04-24

Extend readability-container-size-empty to add comparisons to empty-state objects.

Patch by Josh Zimmerman.

2354. By madsravn on 2017-04-24

[clang-tidy] New check: modernize-replace-random-shuffle.

This check will find occurrences of ``std::random_shuffle`` and replace it with ``std::shuffle``. In C++17 ``std::random_shuffle`` will no longer be available and thus we need to replace it.

Example of case that it fixes

```
  std::vector<int> v;

  // First example
  std::random_shuffle(vec.begin(), vec.end());

```

Reviewers: hokein, aaron.ballman, alexfh, malcolm.parsons, mclow.lists

Subscribers: cfe-commits

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

2353. By vmiklos on 2017-04-23

clang-rename: fix formatting

As detected by clang-format.

2352. By d0k on 2017-04-21

[Clangd] Failed to decode params using 1.x-compatible request message

textDocument/completion sends a TextDocumentPositionParams message in the 2.x
and 3.x. But in 1.x it was instead a TextDocumentPosition with inlined
parameters. This means that the "uri" field is at the top level and not in
textDocument. Because of this, some clients that maintain compability with 1.x
have both uri and textDocument.uri. Clangd, however, early returns in the
presence of anything but 'textDocument' or 'position' which prevents a client
compatible with both 3.x and 1.x to work correctly. If Clangd was a bit more
permissive (no early return), clients implementing all the versions of the
protocol would work.

Patch by Marc-Andre Laperle!

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

2351. By d0k on 2017-04-21

[Clangd] Support Authority-less URIs

Clangd strips URIs by removing the file:// part but some clients can send file:
which is also valid according to RFC 3896. For example, if a client sends
file:///home/user, it gets converted to /home/user but if a client sends
file:/home/user, it is left untouched and problems arise.

Patch by Marc-Andre Laperle!

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

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers

No subscribers.