On 4/29/2014 5:48 AM, Richard Earnshaw wrote:
On 29/04/14 11:47, dw wrote:
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
It's generally wise to avoid 'may' in documentation; in this case I
think 'can' is acceptable.

I understand what you mean. This very patch once had a problem where the context didn't make it clear whether "may" meant "might" or "is permitted." Tricky thing this English.

I think the other "may" in this paragraph is appropriate.

Also, you should be clear at the time you introduce att and intel that
you are referring to the i386 compiler.  Something like: "(for example,
GCC for i386 supports "att" and "intel" dialects)".

Text updated to:

GCC can support multiple assembler dialects (for example, GCC for i386
supports "att" and "intel" dialects) 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.

Thanks for the feedback,
dw

Reply via email to