| // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++11 |
| // RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++98 -Wno-c++11-extensions |
| int begin(Range); // expected-note {{not viable}} |
| iter begin(ADL); // expected-note {{not viable}} |
| NS::iter begin(NS::NoADL); // expected-note {{not viable}} |
| for (auto b : S()) {} // ok |
| for (auto b : T()) {} // expected-error {{invalid range expression of type 'T'}} |
| for (auto b : a) {} // ok |
| for (int b : NS::ADL()) {} // ok |
| for (int b : NS::NoADL()) {} // expected-error {{invalid range expression of type 'NS::NoADL'}} |
| void (*vv[])() = {PR11601, PR11601, PR11601}; |
| for (void (*i)() : vv) i(); |