xref: /aosp_15_r20/external/clang/test/Parser/cxx-invalid-for-range.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
2*67e74705SXin Li 
3*67e74705SXin Li // From PR23057 comment #18 (https://llvm.org/bugs/show_bug.cgi?id=23057#c18).
4*67e74705SXin Li 
5*67e74705SXin Li namespace N {
6*67e74705SXin Li   int X[10]; // expected-note{{declared here}}}}
7*67e74705SXin Li }
8*67e74705SXin Li 
f1()9*67e74705SXin Li void f1() {
10*67e74705SXin Li   for (auto operator new : X); // expected-error{{'operator new' cannot be the name of a variable or data member}}
11*67e74705SXin Li                                // expected-error@-1{{use of undeclared identifier 'X'; did you mean 'N::X'?}}
12*67e74705SXin Li }
13*67e74705SXin Li 
f2()14*67e74705SXin Li void f2() {
15*67e74705SXin Li   for (a operator== :) // expected-error{{'operator==' cannot be the name of a variable or data member}}
16*67e74705SXin Li                        // expected-error@-1{{expected expression}}
17*67e74705SXin Li                        // expected-error@-2{{unknown type name 'a'}}
18*67e74705SXin Li } // expected-error{{expected statement}}
19