summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
diff options
context:
space:
mode:
authorAngel Garcia Gomez <angelgarcia@google.com>2015-09-02 14:25:08 +0000
committerAngel Garcia Gomez <angelgarcia@google.com>2015-09-02 14:25:08 +0000
commit8475466860c27af6a7691413a07cd6b1af17f45e (patch)
treed86eaa8d0d971d2477066414b8ba2bdd465985cc /clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
parentd2c3599c5f777f372087cde87510c65e3dc91b1e (diff)
downloadbcm5719-llvm-8475466860c27af6a7691413a07cd6b1af17f45e.tar.gz
bcm5719-llvm-8475466860c27af6a7691413a07cd6b1af17f45e.zip
Fix loop-convert crash.
Summary: loop-convert no longer crashes when calling a member function using a member pointer which is a member of another record. Reviewers: alexfh, klimek Subscribers: cfe-commits, klimek Differential Revision: http://reviews.llvm.org/D12555 llvm-svn: 246655
Diffstat (limited to 'clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp')
-rw-r--r--clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp b/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
index 9d3b211bd77..7f31a5f4ca4 100644
--- a/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
+++ b/clang-tools-extra/test/clang-tidy/modernize-loop-convert-basic.cpp
@@ -156,6 +156,17 @@ void memberFunctionPointer() {
// CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
// CHECK-FIXES: for (auto & elem : mfpArr)
// CHECK-FIXES-NEXT: (v.*elem)();
+
+ struct Foo {
+ int (Val::*f)();
+ } foo[N];
+
+ for (int i = 0; i < N; ++i)
+ int r = (v.*(foo[i].f))();
+ // CHECK-MESSAGES: :[[@LINE-2]]:3: warning: use range-based for loop instead
+ // CHECK-FIXES: for (auto & elem : foo)
+ // CHECK-FIXES-NEXT: int r = (v.*(elem.f))();
+
}
} // namespace Array
OpenPOWER on IntegriCloud