Ian Lance Taylor wrote:
Mike Stump wrote:
Where in the manual are the machine specific print operand
modifiers documented?  I've looked around, and just can seem to
find them; surely, I can't be the first to document such a
modifier.

To the best of my knowledge they are not documented in the manual. The machine-specific asm constraint characters are documented in the manual, but I don't think the print operand modifiers are.

Often, when I consult the user manual for target specific buts, I get
the impression that the organization of these information is suboptimal
because it is scattered all over the user manual:

- target specific function attributes (even merged up with each other)
- target specific data attributes
- target specific type attributes
- target specific named address spaces
- target specific command options
- target specific built-in defines
- target specific buitt-in functions
- target specific built-in types like __int24 or __int128
- target specific inline assembler constraints
- target specific inline assembler print modififers
- target specific #pragma
- target specific built-in sections
- target specific extension support like ISO/IEC TR 18037
- target specific implementation (int, void*, double, accum, fract, ...)
- target specific restrictions and caveats (like .text > 128KiB on avr)
- target specific ABI, at least an outline like register usage, might
  help (inline) assembler programmers to write code that cooperates
  with code from GCC
- target specific defaults: debug-info, frame layout,
  exception model, asm clobbers, SFR usage, ...

All is scattered over the manual.  There is no central place to read
about "target specific" features and caveats.  If you start with GCC
and/or with a specific target architecture, it is *very* likely you
miss some of these sections and get frustrated by non-functional code.

Some of the above bits I just dropped in the "Target Options" section
because there is no other canonical place, and the "Target Options"
is likely to be read by the user, cf. [1] for example.

Johann

--

[1] http://gcc.gnu.org/onlinedocs/gcc/AVR-Options.html

Reply via email to