| typedef __builtin_div_t div_t; |
| typedef __builtin_ldiv_t ldiv_t; |
| typedef __builtin_udiv_t udiv_t; |
| typedef __builtin_uldiv_t uldiv_t; |
| |
| static div_t div(int numer, int denom) |
| { |
| return __builtin_div(numer, denom); |
| } |
| static ldiv_t ldiv(long numer, long denom) |
| { |
| return __builtin_ldiv(numer, denom); |
| } |
| static udiv_t udiv(unsigned numer, unsigned denom) |
| { |
| return __builtin_udiv(numer, denom); |
| } |
| static uldiv_t uldiv(unsigned long numer, unsigned long denom) |
| { |
| return __builtin_uldiv(numer, denom); |
| } |
| |
| static void main(void) |
| { |
| volatile long *sval = (volatile long *)0x1234; |
| volatile unsigned long *uval = (volatile unsigned long *)0x5678; |
| long int a, b, c; |
| unsigned long e, f, g; |
| ldiv_t lresult; |
| uldiv_t ulresult; |
| |
| a = sval[0]; |
| b = sval[1]; |
| lresult = ldiv(a,b); |
| sval[2] = lresult.quot; |
| sval[3] = lresult.rem; |
| |
| e = uval[0]; |
| f = uval[1]; |
| ulresult = uldiv(e, f); |
| uval[2] = ulresult.quot; |
| uval[3] = ulresult.rem; |
| } |