1*8a64d80aSDavid Spickett // REQUIRES: lld
2*8a64d80aSDavid Spickett 
3*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -gno-pubnames
4*8a64d80aSDavid Spickett // RUN: ld.lld %t.o -o %t
5*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace %t | \
6*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=FOO %s
7*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace --context=context %t | \
8*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=CONTEXT %s
9*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=not_there --find=namespace %t | \
10*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=EMPTY %s
11*8a64d80aSDavid Spickett //
12*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
13*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace %t | \
14*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=FOO %s
15*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace --context=context %t | \
16*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=CONTEXT %s
17*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=not_there --find=namespace %t | \
18*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=EMPTY %s
19*8a64d80aSDavid Spickett 
20*8a64d80aSDavid Spickett // RUN: %clang %s -c -o %t.o --target=x86_64-pc-linux -gdwarf-5 -gpubnames
21*8a64d80aSDavid Spickett // RUN: ld.lld %t.o -o %t
22*8a64d80aSDavid Spickett // RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix NAMES
23*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace %t | \
24*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=FOO %s
25*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=namespace --context=context %t | \
26*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=CONTEXT %s
27*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=not_there --find=namespace %t | \
28*8a64d80aSDavid Spickett // RUN:   FileCheck --check-prefix=EMPTY %s
29*8a64d80aSDavid Spickett 
30*8a64d80aSDavid Spickett // NAMES: Name: .debug_names
31*8a64d80aSDavid Spickett 
32*8a64d80aSDavid Spickett // FOO: Found namespace: foo
33*8a64d80aSDavid Spickett 
34*8a64d80aSDavid Spickett // CONTEXT: Found namespace: bar::foo
35*8a64d80aSDavid Spickett 
36*8a64d80aSDavid Spickett // EMPTY: Namespace not found.
37*8a64d80aSDavid Spickett 
38*8a64d80aSDavid Spickett namespace foo {
39*8a64d80aSDavid Spickett int X;
40*8a64d80aSDavid Spickett }
41*8a64d80aSDavid Spickett 
42*8a64d80aSDavid Spickett namespace bar {
43*8a64d80aSDavid Spickett int context;
44*8a64d80aSDavid Spickett namespace foo {
45*8a64d80aSDavid Spickett int X;
46*8a64d80aSDavid Spickett }
47*8a64d80aSDavid Spickett } // namespace bar
48*8a64d80aSDavid Spickett 
_start()49*8a64d80aSDavid Spickett extern "C" void _start() {}
50