https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53929

--- Comment #15 from LIU Hao <lh_mouse at 126 dot com> ---
> Which as least MASM up to 12.x won't assemble. For one it complains about
> "rip" being undeclared. And then the load of "ecx" is _not_ a memory access
> (i.e. the "DWORD PTR" is ignored there). Which is in line with it also
> objecting to something like "extrn eax:dword".

This is accepted by ML64:

```
PUBLIC  main
EXTRN   rip:DWORD
_TEXT   SEGMENT
main    PROC
        mov     eax, DWORD PTR rip
        ret     0
main    ENDP
_TEXT   ENDS
END
```

Does it make sense to create kinda compatibility mode for ML, in addition to
MASM, if they are deemed to be incompatible? 


> I say this because I'd be happy to help this on the gas side, but only
> without breaking MASM compatibility. My present plan for gas is (as already
> outlined in #11) to make quoted identifiers unambiguously mean symbols, not
> registers. But of course that would still require a gcc side change as well.
> Unfortunately there continue to be inconsistencies in gas with quoted
> identifiers in general, and it's not entirely clear yet whether those may
> need addressing first.

That quoting thing will be yet another extension. I think we had better keep
extensions as few as possible.

Reply via email to