llvm-project/clang/test/SemaCXX/for-range-unused.cpp
Richard Smith 27d807cc9c Don't treat a non-deduced 'auto' type as being type-dependent. Instead, there
are now two distinct canonical 'AutoType's: one is the undeduced 'auto'
placeholder type, and the other is a deduced-but-dependent type. All
deduced-to-a-non-dependent-type cases are still non-canonical.

llvm-svn: 180789
2013-04-30 13:56:41 +00:00

22 lines
471 B
C++

// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 -Wunused
// PR9968: We used to warn that __range is unused in a dependent for-range.
template <typename T>
struct Vector {
void doIt() {
int a; // expected-warning {{unused variable 'a'}}
for (auto& e : elements) // expected-warning {{unused variable 'e'}}
;
}
T elements[10];
};
int main(int, char**) {
Vector<int> vector;
vector.doIt(); // expected-note {{here}}
}