/* { dg-do compile } */ /* { dg-options "-O2 -mstv" } */ #define max(a,b) (((a) > (b))? (a) : (b)) #define min(a,b) (((a) < (b))? (a) : (b)) int ssi[1024]; unsigned int usi[1024]; long long sdi[1024]; unsigned long long udi[1024]; #define CHECK(FN, VARIANT) \ void \ FN ## VARIANT (void) \ { \ for (int i = 1; i < 1024; ++i) \ VARIANT[i] = FN(VARIANT[i-1], VARIANT[i]); \ } CHECK(max, ssi); CHECK(min, ssi); CHECK(max, usi); CHECK(min, usi); CHECK(max, sdi); CHECK(min, sdi); CHECK(max, udi); CHECK(min, udi);