Hello,
I searched 'fastcall' in git history, and I found that
FUNC_FASTCALLW was implemented in this commit at 2005.
windows style fastcall (Filip Navara)
commit e9c64e3f473a29324988169f7fcffeff49649a96
author bellard <bellard>
Sun, 4 Sep 2005 06:21:22 +0800 (3 22:21 +0000)
committer bellard <bellard>
Sun, 4 Sep 2005 06:21:22 +0800 (3 22:21 +0000)
tree 9d1098f4de5f8f61646b5d43ad0f627181b2c0b4 tree | snapshot (tar.gz
zip)
parent 81f957ae09642e4b8425c830a3444b464fb4aae4 commit | diff
windows style fastcall (Filip Navara)
i386-gen.c diff | blob | blame | history
tcc.c diff | blob | blame | history
The fastcall was intended to be windows-style in this commit.
However, nobody notice the stack-maintenance was wrong in the last 12
years.
Zhang Boyang
在 2017年08月23日 20:42, grischka 写道:
张博洋 wrote:
Hello,
I found that TCC implement 'fastcall' that the calling function pops
arguments. However, according to MSDN
(https://msdn.microsoft.com/en-us/library/6xa169sk.aspx), the called
function should pop arguments when using fastcall.
I provided a patch and I have already pushed it to the mob branch,
since I'm new to TCC and compilers, please review my patch carefully.
I also wrote a test case which is in attachments, you may use the
testcase to discover the problem.
Did someone try this on Linux? The wanted behavior might be different.
-- gr
Thanks
Zhang Boyang
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel
_______________________________________________
Tinycc-devel mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/tinycc-devel