[DebugInfo] Relax test case for long double constants.
authorDavid Gross <dgross@google.com>
Thu, 8 Dec 2016 21:15:17 +0000 (21:15 +0000)
committerDavid Gross <dgross@google.com>
Thu, 8 Dec 2016 21:15:17 +0000 (21:15 +0000)
Summary:
D27549 (partial fix for PR26619) emits a constant value in the debug
metadata for a floating-point static const that does not exceed 64
bits in size.  The regression test accompanying that fix assumes that
a long double exceeds 64 bits in size and hence does not get a
constant value in the debug metadata.  However, for some targets --
such as "--target=hexagon-unknown-elf" -- a long double does not
exceed 64 bits in size, and hence the test fails.

As a temporary fix, modify the regression test to no longer inspect
the debug metadata for a long double.

Reviewers: cfe-commits, probinson

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

llvm-svn: 289103

clang/test/CodeGen/debug-info-static-const-fp.c

index 64b6309..6ca2d5d 100644 (file)
@@ -24,4 +24,8 @@ int main() {
 // CHECK: !DIGlobalVariable(name: "dVal", {{.*}}, isLocal: true, isDefinition: true, expr: ![[DEXPR:[0-9]+]]
 // CHECK: ![[DEXPR]] = !DIExpression(DW_OP_constu, 4658387303597904457, DW_OP_stack_value)
 
-// CHECK: !DIGlobalVariable(name: "ldVal", {{.*}}, isLocal: true, isDefinition: true)
+// Temporarily removing this check -- for some targets (such as
+// "--target=hexagon-unknown-elf"), long double does not exceed 64
+// bits, and so we actually do get the constant value (expr) emitted.
+//
+// DO-NOT-CHECK: !DIGlobalVariable(name: "ldVal", {{.*}}, isLocal: true, isDefinition: true)