| // RUN: %clang_cc1 -fsyntax-only -verify %s | |
| // RUN: %clang_cc1 -fsyntax-only -verify -std=gnu++98 %s | |
| // RUN: %clang_cc1 -fsyntax-only -verify -std=gnu++11 %s | |
| static void test() { | |
| int *pi; | |
| int x; | |
| typeof pi[x] y; | |
| } | |
| // From the gcc test suite. | |
| struct S { | |
| int i; | |
| __typeof(S::i) foo(); | |
| #if __cplusplus <= 199711L | |
| // expected-error@-2 {{invalid use of non-static data member 'i'}} | |
| #else | |
| // expected-no-diagnostics | |
| #endif | |
| }; |