Initial checkin of lldb code from internal Apple repo.

llvm-svn: 105619
diff --git a/lldb/test/namespace/main.cpp b/lldb/test/namespace/main.cpp
new file mode 100644
index 0000000..dda8b93
--- /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);
+}