diff options
Diffstat (limited to 'clang/test/CXX/class/class.nest/p1.cpp')
-rw-r--r-- | clang/test/CXX/class/class.nest/p1.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CXX/class/class.nest/p1.cpp b/clang/test/CXX/class/class.nest/p1.cpp new file mode 100644 index 0000000..b0341da --- /dev/null +++ b/clang/test/CXX/class/class.nest/p1.cpp @@ -0,0 +1,14 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +class Outer { + int x; + static int sx; + int f(); + + // C++11 does relax this rule (see 5.1.1.10) in the first case, but we need to enforce it in C++03 mode. + class Inner { + static char a[sizeof(x)]; // expected-error {{invalid use of non-static data member 'x'}} + static char b[sizeof(sx)]; // okay + static char c[sizeof(f)]; // expected-error {{call to non-static member function without an object argument}} + }; +}; |