This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Where are the NON extended asm docs?


I've been working on re-writing the docs for extended-asm. However, as bad as the extended-asm docs are, the NON extended asm docs (or would that be "basic asm"?) appear to be completely missing. Does anyone have a link to the basic asm docs (even an old version)?

If no one can point me to some docs, is there anyone here who has used basic asm? I mean for something beyond a simple 1-liner (using global symbols is a plus). I'd really appreciate your input as I create these docs.

In case you weren't aware (I sure wasn't), yes, there really are important differences between:

asm("{}"); // basic asm

and

asm("{}" : ); // extended asm (apparently anything with at least 1 colon)

The second statement processes the extended asm dialect and therefore compiles. The first does not process the dialect, and therefore the assembler chokes on the braces as unrecognized text. This tiny sample illustrates that gcc does indeed take significantly different code paths when processing these two statements. Looking at the gcc source (see lines 2471 & 2498 in http://gcc.gnu.org/viewcvs/gcc/trunk/gcc/final.c?revision=198641&view=markup), this appears to be by design so I don't view this as a gcc bug. However I do believe it is important to doc this rather unexpected behavior. As well as several other bits of behavior I have observed.

dw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]