diff options
Diffstat (limited to 'debuginfo-tests/win_cdb/realigned-frame.cpp')
-rw-r--r-- | debuginfo-tests/win_cdb/realigned-frame.cpp | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/debuginfo-tests/win_cdb/realigned-frame.cpp b/debuginfo-tests/win_cdb/realigned-frame.cpp deleted file mode 100644 index a964b43e0cb..00000000000 --- a/debuginfo-tests/win_cdb/realigned-frame.cpp +++ /dev/null @@ -1,34 +0,0 @@ -// 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 - -// From https://llvm.org/pr38857, where we had issues with stack realignment. - -struct Foo { - int x = 42; - int __declspec(noinline) foo(); - void __declspec(noinline) bar(int *a, int *b, double *c); -}; -int Foo::foo() { - int a = 1; - int b = 2; - double __declspec(align(32)) force_alignment = 0.42; - bar(&a, &b, &force_alignment); - // DEBUGGER: g - // DEBUGGER: .frame 1 - // DEBUGGER: dv - // CHECK: a = 0n1 - // CHECK: b = 0n2 - // CHECK: force_alignment = 0.41999{{.*}} - // DEBUGGER: q - x += (int)force_alignment; - return x; -} -void Foo::bar(int *a, int *b, double *c) { - __debugbreak(); - *c += *a + *b; -} -int main() { - Foo o; - o.foo(); -} |