1 /* { dg-do compile } */ 2 /* { dg-options "-O2 -mstv" } */ 3 4 #define max(a,b) (((a) > (b))? (a) : (b)) 5 #define min(a,b) (((a) < (b))? (a) : (b)) 6 7 int ssi[1024]; 8 unsigned int usi[1024]; 9 long long sdi[1024]; 10 unsigned long long udi[1024]; 11 12 #define CHECK(FN, VARIANT) \ 13 void \ 14 FN ## VARIANT (void) \ 15 { \ 16 for (int i = 1; i < 1024; ++i) \ 17 VARIANT[i] = FN(VARIANT[i-1], VARIANT[i]); \ 18 } 19 20 CHECK(max, ssi); 21 CHECK(min, ssi); 22 CHECK(max, usi); 23 CHECK(min, usi); 24 CHECK(max, sdi); 25 CHECK(min, sdi); 26 CHECK(max, udi); 27 CHECK(min, udi); 28