[debuginfo-tests] r362745 - Add cdb test for global constants

Amy Huang via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 6 13:23:06 PDT 2019


Author: akhuang
Date: Thu Jun  6 13:23:05 2019
New Revision: 362745

URL: http://llvm.org/viewvc/llvm-project?rev=362745&view=rev
Log:
Add cdb test for global constants

Summary: This creates an integration test for global constants

Reviewers: rnk

Subscribers: llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62974

Added:
    debuginfo-tests/trunk/win_cdb/global-constant.cpp

Added: debuginfo-tests/trunk/win_cdb/global-constant.cpp
URL: http://llvm.org/viewvc/llvm-project/debuginfo-tests/trunk/win_cdb/global-constant.cpp?rev=362745&view=auto
==============================================================================
--- debuginfo-tests/trunk/win_cdb/global-constant.cpp (added)
+++ debuginfo-tests/trunk/win_cdb/global-constant.cpp Thu Jun  6 13:23:05 2019
@@ -0,0 +1,33 @@
+// RUN: %clang_cl %s -o %t.exe -fuse-ld=lld -Z7
+// RUN: grep DE[B]UGGER: %s | sed -e 's/.*DE[B]UGGER: //' > %t.script
+// RUN: %cdb -cf %t.script %t.exe | FileCheck %s --check-prefixes=DEBUGGER,CHECK
+
+// Check that global constants have debug info.
+
+const float TestPi = 3.14;
+struct S {
+  static const char TestCharA = 'a';
+};
+enum TestEnum : int {
+  ENUM_POS = 2147000000,
+  ENUM_NEG = -2147000000,
+};
+void useConst(int) {}
+int main() {
+  useConst(TestPi);
+  useConst(S::TestCharA);
+  useConst(ENUM_NEG);
+  // DEBUGGER: g
+  // DEBUGGER: ?? TestPi
+  // CHECK: float 3.140000105
+  // DEBUGGER: ?? S::TestCharA
+  // CHECK: char 0n97 'a'
+  // DEBUGGER: ?? ENUM_NEG
+  // CHECK: TestEnum ENUM_NEG (0n-2147000000)
+  // Unused constants shouldn't show up in the globals stream.
+  // DEBUGGER: ?? ENUM_POS
+  // CHECK: Couldn't resolve error at 'ENUM_POS'
+  // DEBUGGER: q
+  __debugbreak();
+  return 0;
+}




More information about the llvm-commits mailing list