This is permitted in D. asm { "cpuid" : "=a" a; } But the documented syntax in gcc says that the expression/variable should be around parentheses (https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html#InputOperands) The old (incorrect) syntax should be deprecated in favour of: asm { "cpuid" : "=a" (a); }
@ibuclaw created dlang/dmd pull request #10820 "fix Issue 20593 - Parser syntax for asm operands differs from GCC" fixing this issue: - fix Issue 20593 - Parser syntax for asm operands differs from GCC https://github.com/dlang/dmd/pull/10820
dlang/dmd pull request #10820 "fix Issue 20593 - Parser syntax for asm operands differs from GCC" was merged into master: - 1ca04a8f6c976793804c536bca8a3c15486d5dff by Iain Buclaw: fix Issue 20593 - Parser syntax for asm operands differs from GCC https://github.com/dlang/dmd/pull/10820
dlang/dmd pull request #10916 "[dmd-cxx] Check in iasmgcc.c implementation" was merged into dmd-cxx: - 73ad46093e2dbcfa922120553ee431449c88eb00 by Iain Buclaw: fix Issue 20593 - Parser syntax for asm operands differs from GCC https://github.com/dlang/dmd/pull/10916