From 8384f157aa937894ec9794bcad331c76e93915b2 Mon Sep 17 00:00:00 2001 From: Adrian McCarthy Date: Tue, 26 Apr 2016 22:25:40 +0000 Subject: [PATCH] Fix TestRegisterVariables.py on Windows Use __attribute__((regparm(x))) to ensure the compiler enregisters at least some arguments when calling functions. Differential Revision: http://reviews.llvm.org/D19548 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@267616 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../Python/lldbsuite/test/lang/c/register_variables/test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/Python/lldbsuite/test/lang/c/register_variables/test.c b/packages/Python/lldbsuite/test/lang/c/register_variables/test.c index 9acd3f3835..476c32899e 100644 --- a/packages/Python/lldbsuite/test/lang/c/register_variables/test.c +++ b/packages/Python/lldbsuite/test/lang/c/register_variables/test.c @@ -5,20 +5,20 @@ struct bar { int m2; }; -void f1(int a, struct bar *b) __attribute__ ((noinline)); +void f1(int a, struct bar *b) __attribute__((noinline)) __attribute__((regparm(2))); void f1(int a, struct bar *b) { b->m2 = b->m1 + a; // set breakpoint here } -void f2(struct bar *b) __attribute__ ((noinline)); +void f2(struct bar *b) __attribute__((noinline)) __attribute__((regparm(1))); void f2(struct bar *b) { int c = b->m2; printf("%d\n", c); // set breakpoint here } -float f3() __attribute__ ((noinline)); +float f3() __attribute__((noinline)); float f3() { return 3.14f; }