xref: /aosp_15_r20/external/clang/test/SemaCXX/for-range-unused.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 -Wunused
2*67e74705SXin Li 
3*67e74705SXin Li // PR9968: We used to warn that __range is unused in a dependent for-range.
4*67e74705SXin Li 
5*67e74705SXin Li template <typename T>
6*67e74705SXin Li   struct Vector {
doItVector7*67e74705SXin Li     void doIt() {
8*67e74705SXin Li       int a; // expected-warning {{unused variable 'a'}}
9*67e74705SXin Li 
10*67e74705SXin Li       for (auto& e : elements) // expected-warning {{unused variable 'e'}}
11*67e74705SXin Li         ;
12*67e74705SXin Li     }
13*67e74705SXin Li 
14*67e74705SXin Li     T elements[10];
15*67e74705SXin Li   };
16*67e74705SXin Li 
17*67e74705SXin Li 
main(int,char **)18*67e74705SXin Li int main(int, char**) {
19*67e74705SXin Li   Vector<int>    vector;
20*67e74705SXin Li   vector.doIt(); // expected-note {{here}}
21*67e74705SXin Li }
22