While I'm waiting to hear back from Gerald about my responses to his other corrections, I have answered one question:

How does the user know what is dialect #0?  Same for the others?

When I originally wrote that section, I didn't know the answer (which is why I left it vague). Now I think I do, but I'd like someone to confirm. On my builds of gcc, the dialects are listed (in dialect order) under "Known assembler dialects" in "gcc --target-help". Can I rely on this enough to put it in the docs? Is there some better source?

First of all, -masm is (currently) only supported on i386: http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

Second, i386 -masm only supports two options: http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86-64-Options.html

So, the inline asm docs could just say "att" and "intel." However, there's a difference between using "intel" and "att" as examples of how dialects work, and "hard coding" these names into this section as the list of available options. I'm not keen on putting machine-specific info like this into an otherwise machine-neutral section.

Such being the case, I replaced the previously vague paragraph with:

GCC may support multiple assembler dialects (such as "att" or "intel") for
inline assembler. In builds that support this capability, the @option{-masm} option controls which dialect GCC uses as its default. The hardware-specific
documentation for the @option{-masm} option contains the list of supported
dialects, as well as the default dialect if the option is not specified. This
information may be important to understand, since assembler code that works
correctly when compiled using one dialect will likely fail if compiled using
another.

This keeps the machine-specific details with the already machine-specific compile options. While this option only applies to i386 currently, this text leaves the option open should some other platform make use of it in the future.

Unless someone says otherwise, I'm calling this question resolved.

dw

Reply via email to