summaryrefslogtreecommitdiffstats
path: root/lldb/test/namespace/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/test/namespace/main.cpp')
-rw-r--r--lldb/test/namespace/main.cpp69
1 files changed, 69 insertions, 0 deletions
diff --git a/lldb/test/namespace/main.cpp b/lldb/test/namespace/main.cpp
new file mode 100644
index 00000000000..dda8b93306b
--- /dev/null
+++ b/lldb/test/namespace/main.cpp
@@ -0,0 +1,69 @@
+//===-- main.cpp ------------------------------------------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+namespace {
+ typedef unsigned int uint_t;
+ int i;
+}
+
+namespace A {
+ typedef unsigned int uint_t;
+ namespace B {
+ typedef unsigned int uint_t;
+ int j;
+ int myfunc (int a);
+ int myfunc2(int a)
+ {
+ return a + 2;
+ }
+ float myfunc (float f)
+ {
+ return f - 2.0;
+ }
+ }
+}
+
+namespace Y
+{
+ typedef unsigned int uint_t;
+ using A::B::j;
+ int foo;
+}
+
+using A::B::j; // using declaration
+
+namespace Foo = A::B; // namespace alias
+
+using Foo::myfunc; // using declaration
+
+using namespace Foo; // using directive
+
+namespace A {
+ namespace B {
+ using namespace Y;
+ int k;
+ }
+}
+
+int Foo::myfunc(int a)
+{
+ ::uint_t anon_uint = 0;
+ A::uint_t a_uint = 1;
+ B::uint_t b_uint = 2;
+ Y::uint_t y_uint = 3;
+ i = 3;
+ j = 4;
+ return myfunc2(3) + j + i + a + 2 + anon_uint + a_uint + b_uint + y_uint;
+}
+
+int
+main (int argc, char const *argv[])
+{
+ return Foo::myfunc(12);
+}
OpenPOWER on IntegriCloud