summaryrefslogtreecommitdiff
path: root/clang/test/CXX/class/class.local/p1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test/CXX/class/class.local/p1.cpp')
-rw-r--r--clang/test/CXX/class/class.local/p1.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/clang/test/CXX/class/class.local/p1.cpp b/clang/test/CXX/class/class.local/p1.cpp
new file mode 100644
index 0000000..62ade5c
--- /dev/null
+++ b/clang/test/CXX/class/class.local/p1.cpp
@@ -0,0 +1,18 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+int x;
+void f()
+{
+ static int s;
+ int x; // expected-note{{'x' declared here}}
+ extern int g();
+
+ struct local {
+ int g() { return x; } // expected-error{{reference to local variable 'x' declared in enclosing function 'f'}}
+ int h() { return s; }
+ int k() { return :: x; }
+ int l() { return g(); }
+ };
+}
+
+local* p = 0; // expected-error{{unknown type name 'local'}}