Author: amccarth Date: Tue Apr 26 17:25:40 2016 New Revision: 267616 URL: http://llvm.org/viewvc/llvm-project?rev=267616&view=rev Log: 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 Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/c/register_variables/test.c Modified: lldb/trunk/packages/Python/lldbsuite/test/lang/c/register_variables/test.c URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/lang/c/register_variables/test.c?rev=267616&r1=267615&r2=267616&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/lang/c/register_variables/test.c (original) +++ lldb/trunk/packages/Python/lldbsuite/test/lang/c/register_variables/test.c Tue Apr 26 17:25:40 2016 @@ -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; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits