Bug 10068 – mixin related bug: __HID22 is 0x00000001. causes exeption in nothrow code
Status
RESOLVED
Resolution
INVALID
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-05-12T05:27:04Z
Last change time
2020-07-04T16:43:20Z
Keywords
wrong-code
Assigned to
No Owner
Creator
Felix Hufnagel
Comments
Comment #0 by puremagic — 2013-05-12T05:27:04Z
http://s7.directupload.net/images/130512/bqg2rjyd.pnghttp://dpaste.dzfl.pl/2edb17c1
I get an runtime exception then calling .orientation on an Camera instance.
.orientation is marked as const @safe nothrow though.
the problem probably comes from "mixin Transformations;"
when i replace them with those functions it works.
Code generated for orientation():
0044368B mov ecx,dword ptr [this]
0044368E lea esi,[ecx+100h]
00443694 mov edi,dword ptr [__HID22]
00443697 movs dword ptr es:[edi],dword ptr [esi]
00443698 movs dword ptr es:[edi],dword ptr [esi]
00443699 movs dword ptr es:[edi],dword ptr [esi]
0044369A movs dword ptr es:[edi],dword ptr [esi]
0044369B mov eax,dword ptr [__HID22]
as you can see it is using __HID22 which is set to 0x00000001.
if more info is required, feel free to contact me.