From 72391dc4b882907e20a4275eeaf20e9f9a5942d6 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 15 Sep 2019 17:17:26 +0000 Subject: [PATCH] * fix tests for targets with fixed stack which must be 16 byte aligned git-svn-id: trunk@43005 - --- tests/test/tasm18g.pp | 4 ++-- tests/test/tasm23a.pp | 4 ++-- tests/webtbs/tw7808.pp | 11 ++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/tests/test/tasm18g.pp b/tests/test/tasm18g.pp index 39d518b149..f7fad7bf99 100644 --- a/tests/test/tasm18g.pp +++ b/tests/test/tasm18g.pp @@ -90,7 +90,7 @@ const ); -procedure test1; assembler; +procedure test1; nostackframe; assembler; asm test [edi+foo2], cval { test word ptr [edi], 1 } test byte ptr [edi+foo], cval { test byte ptr [edi], 1 } @@ -142,7 +142,7 @@ asm test word ptr [edi+foo32_2.l], cval { test word ptr [edi+1], 1 } end; -procedure test2; assembler; +procedure test2; nostackframe; assembler; asm test [edi+foo32], cval { test dword ptr [edi], 1 } test [edi+foo32_2.l], cval { test dword ptr [edi+1], 1 } diff --git a/tests/test/tasm23a.pp b/tests/test/tasm23a.pp index 7ba4bfb112..221b5ecdda 100644 --- a/tests/test/tasm23a.pp +++ b/tests/test/tasm23a.pp @@ -7,14 +7,14 @@ program tasm23a; const t_size = 19; -procedure t; assembler; +procedure t; nostackframe; assembler; asm mov eax, [ebx[5]][edi][54][-17][45][4] { mov eax, [ebx+edi+5Bh] } mov eax, [[ebx+5]+[edi+54]+[-17]+[45]+[4]] { mov eax, [ebx+edi+5Bh] } mov eax, [5[7]] { mov eax, [000Ch] } mov eax, [5+[7]] { mov eax, [000Ch] } end; -procedure t_verify; assembler; +procedure t_verify; nostackframe; assembler; asm mov eax, [ebx+edi+5Bh] { mov eax, [ebx[5]][edi][54][-17][45][4] } mov eax, [ebx+edi+5Bh] { mov eax, [[ebx+5]+[edi+54]+[-17]+[45]+[4]] } diff --git a/tests/webtbs/tw7808.pp b/tests/webtbs/tw7808.pp index 4856e8866c..d9690acff2 100644 --- a/tests/webtbs/tw7808.pp +++ b/tests/webtbs/tw7808.pp @@ -2,6 +2,9 @@ { %target=go32v2,linux,freebsd,win32,haiku} { %opt=-Sew -vw } +{ do not warn about the lea esp,[esp+16] } +{$WARN 7105 OFF} + {$mode delphi} procedure test(l: longint); stdcall; @@ -12,8 +15,14 @@ end; begin asm +{$if FPC_STACKALIGNMENT=16} + lea esp,[esp-12] +{$endif FPC_STACKALIGNMENT=16} push word $dead push word $beef - call test + call test +{$if FPC_STACKALIGNMENT=16} + lea esp,[esp+16] +{$endif FPC_STACKALIGNMENT=16} end; end.