November 15, 2008 [Issue 2455] New: Cannot use .ptr or .length in asm code | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=2455 Summary: Cannot use .ptr or .length in asm code Product: D Version: 1.011 Platform: PC OS/Version: Windows Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: clugdbug@yahoo.com.au This was first reported in #1125 as failed workaround. I'm moving it here since the original bug in #1125 was fixed long ago. It's in dstress as: http://dstress.kuehne.cn/run/t/tuple_23_C.d It's probably related to #1252, #1172, and #1173. It seems that fullstops ('.') are not treated correctly. #1500 may also be related. void foo(int [] q) { asm{ mov EAX, q.ptr; // mov ECX, q.length; // this doesn't work either } } There aren't any good workarounds for this. Creating a local variable and using 'naked' are the two best options, but they're both ugly. -- |
Copyright © 1999-2021 by the D Language Foundation