1 #include <limits.h>
2 
3 #if ULONG_LONG_MAX != 18446744073709551615ull && ULONG_MAX != 18446744073709551615ull
main(void)4 int main(void) { exit (0); }
5 #else
6 #if ULONG_MAX != 18446744073709551615ull
7 typedef unsigned long long ull;
8 #else
9 typedef unsigned long ull;
10 #endif
11 
12 #include <stdio.h>
13 
14 void checkit(int);
15 
main()16 main () {
17     const ull a = 0x1400000000ULL;
18     const ull b = 0x80000000ULL;
19     const ull c = a/b;
20     const ull d = 0x1400000000ULL / 0x80000000ULL;
21 
22     checkit ((int) c);
23     checkit ((int) d);
24 
25     exit(0);
26 }
27 
checkit(int a)28 void checkit (int a)
29 {
30   if (a != 40)
31     abort();
32 }
33 #endif
34