1 /* { dg-do preprocess } */ 2 /* { dg-options "-Wall" } */ 3 4 /* Test that -Wall emits the warnings about integer promotion changing 5 the sign of an operand. */ 6 7 #if -1 > 0U /* { dg-warning "5:changes sign when promoted" } */ 8 #endif 9 10 #if 0U + -1 /* { dg-warning "10:changes sign when promoted" } */ 11 #endif 12 13 #if 0U * -1 /* { dg-warning "10:changes sign when promoted" } */ 14 #endif 15 16 #if 1U / -2 /* { dg-warning "10:changes sign when promoted" } */ 17 #endif 18 19 #if -1 % 1U /* { dg-warning "5:changes sign when promoted" } */ 20 #endif 21 22 #if 1 ? 0U : -1 /* { dg-warning "14:changes sign when promoted" } */ 23 #endif 24 25 #if 1 ? -1 : 0U /* { dg-warning "9:changes sign when promoted" } */ 26 #endif 27