Bug 171 – 'wrong number of operands' for invlpg inline asm instruction
Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
x86
OS
Windows
Creation time
2006-05-31T17:03:00Z
Last change time
2015-06-09T05:15:09Z
Keywords
rejects-valid
Assigned to
braddr
Creator
fvbommel
Comments
Comment #0 by fvbommel — 2006-05-31T17:03:42Z
I thought the inline assembler syntax was the same for GDC and DMD?
For this file:
private void invalidatePage(void* p)
{
asm
{
mov EAX, [p];
invlpg [EAX]; // line 6
}
}
GDC gives the following error:
test.d:6: wrong number of operands
I use GDC 0.18 (the binary for MinGW GCC 3.4.2 from http://gdcwin.sourceforge.net/)
This error does not occur when using DMD 0.157 (tried because it's the base for this GDC version) or 0.159 (the latest).
The command line was
gdc -c test.d -o test.o -I ..\d\gdc\include\d\3.4.2
Comment #1 by dvdfrdmn — 2006-06-03T14:19:30Z
Fixed in SF subversion. The implementation of the assembler in GDC and DMD is different, but the syntax should be the same.