digitalmars.D.bugs - [Issue 12423] New: extern(Windows) interfaces with -m64 broken
- d-bugmail puremagic.com (32/32) Mar 20 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12423
- d-bugmail puremagic.com (10/10) Mar 20 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12423
- d-bugmail puremagic.com (13/13) Mar 28 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12423
- d-bugmail puremagic.com (11/11) Mar 29 2014 https://d.puremagic.com/issues/show_bug.cgi?id=12423
https://d.puremagic.com/issues/show_bug.cgi?id=12423 Summary: extern(Windows) interfaces with -m64 broken Product: D Version: D2 Platform: x86_64 OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: johnch_atms hotmail.com PDT --- The following program when compiled on x64 Windows with -m64 will cause a stack overflow at runtime: extern(Windows): interface Base { void test(); } class Derived : Base { void test() {} } extern(D): void main() { Base b = new Derived(); b.test(); } Changing "extern(Windows)" to "extern(C++)" or "extern(D)" makes the program run without problems. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 20 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12423 Andrej Mitrovic <andrej.mitrovich gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrej.mitrovich gmail.com 11:00:49 PDT --- Confirmed with 2.065 and 2.066 git-head, Win7 x64. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 20 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12423 Benjamin Thaut <code benjamin-thaut.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code benjamin-thaut.de PDT --- I also run into this issue. It seems that the function gets executed with the a this pointer pointing to the interface instead of a this pointer pointing to the actual class instance. So it seems that the trampoline inside the interfaces vtbl does apply a incorrect offset. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 28 2014
https://d.puremagic.com/issues/show_bug.cgi?id=12423 yebblies <yebblies gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code CC| |yebblies gmail.com I'm surprised it works as well as it does. -- Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 29 2014