* gcc.c-torture/compile/pr60655-1.c: Use __SIZE_TYPE__ for size_t.
[official-gcc.git] / gcc / testsuite / gcc.c-torture / compile / pr60655-1.c
blob6f84f6e4ea04b8b0b780b0aeb6ffea54fae214f4
1 /* { dg-options "-fdata-sections" } */
3 typedef unsigned char unit;
4 typedef unit *unitptr;
5 extern short global_precision;
6 typedef __SIZE_TYPE__ size_t;
7 extern void *memcpy (void *dest, const void *src, size_t n);
9 short mp_compare(const unit* r1, const unit* r2)
11 register short precision;
12 precision = global_precision;
13 (r1) = ((r1)+(precision)-1);
14 (r2) = ((r2)+(precision)-1);
16 { if (*r1 < *r2)
17 return(-1);
18 if (*((r1)--) > *((r2)--))
19 return(1);
20 } while (--precision);
23 static unit modulus[((1280+(2*8))/8)];
24 static unit d_data[((1280+(2*8))/8)*2];
26 int upton_modmult (unitptr prod, unitptr multiplicand, unitptr multiplier)
28 unitptr d = d_data;
29 while (mp_compare(d,modulus) > 0)
30 memcpy((void*)(prod), (const void*)(d), (global_precision));