[clang-tidy] Recommit r360785 "modernize-loop-convert: impl const cast iter" with...
authorDon Hinton <hintonda@gmail.com>
Wed, 15 May 2019 17:47:51 +0000 (17:47 +0000)
committerDon Hinton <hintonda@gmail.com>
Wed, 15 May 2019 17:47:51 +0000 (17:47 +0000)
commit4c50e64fc5cf945c77dd0396bd969fdbdab83e4e
treeae1497bd7b88ca2af1dfbcf670f17f0b1c930189
parent4ecb581188ff34c049eb2e9f36b32ae6df532221
[clang-tidy] Recommit r360785 "modernize-loop-convert: impl const cast iter" with correct attribution

Summary:
modernize-loop-convert was not detecting implicit casts to
const_iterator as convertible to range-based loops:

    std::vector<int> vec{1,2,3,4}
    for(std::vector<int>::const_iterator i = vec.begin();
        i != vec.end();
        ++i) { }

Thanks to Don Hinton for advice.

As well, this change adds a note for this check's applicability to code
targeting OpenMP prior version 5 as this check will continue breaking
compilation with `-fopenmp`. Thanks to Roman Lebedev for pointing this
out.

Fixes PR#35082

Patch by Torbjörn Klatt!

Reviewed By: hintonda

Tags: #clang-tools-extra, #clang

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

llvm-svn: 360788
clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
clang-tools-extra/docs/clang-tidy/checks/modernize-loop-convert.rst
clang-tools-extra/docs/clang-tidy/index.rst
clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
clang-tools-extra/test/clang-tidy/modernize-loop-convert-extra.cpp