From f9603354ea88a3c64da45d5f938fd64e28de2a30 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Tue, 21 Jun 2011 23:07:19 +0000 Subject: First part of PR9968: the __range variable in a dependent C++11 for-range statement is implicitly used by that statement. llvm-svn: 133572 --- clang/test/SemaCXX/for-range-unused.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 clang/test/SemaCXX/for-range-unused.cpp (limited to 'clang/test/SemaCXX/for-range-unused.cpp') diff --git a/clang/test/SemaCXX/for-range-unused.cpp b/clang/test/SemaCXX/for-range-unused.cpp new file mode 100644 index 00000000000..7e26c786ed1 --- /dev/null +++ b/clang/test/SemaCXX/for-range-unused.cpp @@ -0,0 +1,22 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++0x -Wunused + +// PR9968: We used to warn that __range is unused in a dependent for-range. + +template + struct Vector { + void doIt() { + // FIXME: PR10168: Only warn once for this! + int a; // expected-warning 2{{unused variable 'a'}} + + for (auto& e : elements) + ; + } + + T elements[10]; + }; + + +int main(int, char**) { + Vector vector; + vector.doIt(); // expected-note {{requested here}} +} -- cgit v1.2.3