Mail Archives: djgpp/2004/09/22/12:00:26.1
Hans-Bernhard Broeker escreveu:
> Cesar Rabak <crabak AT acm DOT org> wrote:
>
>>fdonahoe AT wilkes DOT edu escreveu:
>
> [...]
>
>>># 628 "./gmp-impl.h"
>>>void __gmpz_aorsmul_1 (mp_size_t sub,mpz_ptr w,mpz_srcptr u,mp_limb_t
>>>v) __attribute__ ((regparm (1)));
>>
> [...]
>
>>># 60 "mpz/aorsmul_i.c"
>>>void
>>>__gmpz_aorsmul_1 (mp_size_t sub,mpz_ptr w,mpz_srcptr x,mp_limb_t y)
>>>{
>>
>
>>They don't look to have any clash between declaration and definition for
>>me.
>
>
> Absence vs. presence of __attribute__((regparm(1)) should not be a
> clash? I would rather strongly expect it to count as one --- if the
> __attribute___ is useful at all, it's a change of ABI, which makes the
> prototype incompatible with the definition.
If it changes the ABI, for sure.
>
> BTW: what exaxctly made the GMP people believe they can violate the
> ANSI/ISO standard C reserved-for-implementation namespace like that?
> This actually means that strictly speaking, the above causes undefined
> behaviour, and everything goes.
>
Probably the forgiveness of earlier versions of gcc?
- Raw text -