blob: 8f1bb62874a12c757452cf0d7156135f95a9130b [file] [log] [blame] [edit]
// XFAIL: target-windows
// Tests that LLDB correctly parses global symbols
// starting with 'O'. On some platforms (e.g., Darwin)
// C-symbols are prefixed with a '_'. The LLDB Macho-O
// parses handles Objective-C metadata symbols starting
// with '_OBJC' specially. This test ensures that we don't
// lose track of regular global symbols with a '_O' prefix
// in this.
// RUN: %clang_host -c -g -fno-common %s -o %t.o
// RUN: %clang_host %t.o -o %t.out
// RUN: %lldb -b -x %t.out \
// RUN: -o "b 29" \
// RUN: -o "run" \
// RUN: -o "p OglobalVar" \
// RUN: -o "p Oabc" | FileCheck %s
typedef struct {
int a;
} Oabc_t;
Oabc_t Oabc;
int OglobalVar;
int main(int argc, const char *argv[]) {
Oabc.a = 15;
OglobalVar = 10;
return OglobalVar + Oabc.a;
}
// CHECK: (lldb) p OglobalVar
// CHECK: (int) 10
// CHECK: (lldb) p Oabc
// CHECK: (Oabc_t) (a = 15)