[Issue 23814] [Codegen] Calling member function of extern(C++) class with multiple inheritance doesn't preserve the EBX register in some cases
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Apr 3 08:13:47 UTC 2023
https://issues.dlang.org/show_bug.cgi?id=23814
RazvanN <razvan.nitu1305 at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |razvan.nitu1305 at gmail.com
--- Comment #3 from RazvanN <razvan.nitu1305 at gmail.com> ---
What command line options are you using? I cannot reproduce this for neither 32
or 64 bit.
32 bit output:
00000000 <_ZN9MainClass5func4Ev>:
0: 55 push ebp
1: 8b ec mov ebp,esp
3: 83 ec 08 sub esp,0x8
6: e8 00 00 00 00 call b <_ZN9MainClass5func4Ev+0xb>
b: 58 pop eax
c: 05 02 00 00 00 add eax,0x2
11: 89 45 fc mov DWORD PTR [ebp-0x4],eax
14: 8b 4d fc mov ecx,DWORD PTR [ebp-0x4]
17: 8d 81 40 00 00 00 lea eax,[ecx+0x40]
1d: c9 leave
1e: c3 ret
Does not use ebx.
64 bit output:
0000000000000000 <_ZN9MainClass5func4Ev>:
0: 48 8d 05 00 00 00 00 lea rax,[rip+0x0] # 7
<_ZN9MainClass5func4Ev+0x7>
7: c3 ret
Does not use rbx.
I don't think this issue is valid.
--
More information about the Digitalmars-d-bugs
mailing list