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.