On Thu, 25 Aug 2005, Ian Lance Taylor wrote:
Those prototypes are literally wrong on many, even most, systems. To interpret them correctly, you have to understand the earlier paragraph:
Ah- I missed this paragraph.
The latter is basically correct. __umodsi3 always handles 32-bit values. __umoddi3 always handles 64-bit values. __umodti3 always handles 128-bit values. (In saying this I am ignoring targets which do not use 8-bit bytes). The proper prototypes are thus target-dependent, since the sizes of int, long, and long long are target dependent. For what it's worth, the correct prototypes can be written using the __attribute__ ((mode (XX))) extension.
Thanks. This straightens me out. Brian