From afc44efc262b27e8d6cdcf86d40a820ecd450520 Mon Sep 17 00:00:00 2001 From: Nabeel Omer Date: Wed, 28 Oct 2020 14:21:40 +0000 Subject: [PATCH] [debuginfo-tests][dexter] Add two new debug experience tests deferred_globals.cpp: Verify that debug information for a local variable does not hide a global definition that has the same name namespace.cpp: Ensure that the debug information for a global variable includes namespace information. Differential Revision: https://reviews.llvm.org/D89462 Author: Nabeel Omer --- debuginfo-tests/dexter-tests/deferred_globals.cpp | 28 +++++++++++++++++++++++ debuginfo-tests/dexter-tests/namespace.cpp | 23 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 debuginfo-tests/dexter-tests/deferred_globals.cpp create mode 100644 debuginfo-tests/dexter-tests/namespace.cpp diff --git a/debuginfo-tests/dexter-tests/deferred_globals.cpp b/debuginfo-tests/dexter-tests/deferred_globals.cpp new file mode 100644 index 0000000..d12adfd --- /dev/null +++ b/debuginfo-tests/dexter-tests/deferred_globals.cpp @@ -0,0 +1,28 @@ +// Purpose: +// Ensure that debug information for a local variable does not hide +// a global definition that has the same name. + +// UNSUPPORTED: system-windows + +// RUN: %dexter --fail-lt 1.0 -w \ +// RUN: --builder 'clang' --debugger 'lldb' \ +// RUN: --cflags "-g -O0" -v -- %s + +const int d = 100; + +extern int foo(); + +int main() { + const int d = 4; + const float e = 4; // DexLabel("main") + const char *f = "Woopy"; + return d + foo(); +} + +int foo() { + return d; // DexLabel("foo") +} + +// DexExpectWatchValue('d', '4', on_line='main') +// DexExpectWatchValue('d', '100', on_line='foo') + diff --git a/debuginfo-tests/dexter-tests/namespace.cpp b/debuginfo-tests/dexter-tests/namespace.cpp new file mode 100644 index 0000000..e614b0d --- /dev/null +++ b/debuginfo-tests/dexter-tests/namespace.cpp @@ -0,0 +1,23 @@ +// Purpose: +// Ensure that the debug information for a global variable includes +// namespace information. + +// UNSUPPORTED: system-windows + +// RUN: %dexter --fail-lt 1.0 -w \ +// RUN: --builder 'clang' --debugger 'lldb' \ +// RUN: --cflags "-g -O0" -v -- %s + +#include + +namespace monkey { +const int ape = 32; +} + +int main() { + printf("hello %d\n", monkey::ape); // DexLabel('main') + return 0; +} + +// DexExpectWatchValue('monkey::ape', 32, on_line='main') + -- 2.7.4