| /* { dg-do run } */ | |
| /* { dg-options "-O2 -fwrapv" } */ | |
| signed char sc; | |
| __INT16_TYPE__ ss; | |
| void testsc() { | |
| unsigned int g = 0; | |
| unsigned int *p1 = &g; | |
| signed char *p2 = ≻ | |
| do { | |
| (*p1)++; | |
| (*p2)--; | |
| } while (sc); | |
| if (g != 256) | |
| __builtin_abort(); | |
| } | |
| void testss() { | |
| __UINT32_TYPE__ g = 0; | |
| __UINT32_TYPE__ *p1 = &g; | |
| __INT16_TYPE__ *p2 = &ss; | |
| do { | |
| (*p1)++; | |
| (*p2)--; | |
| } while (ss); | |
| if (g != 65536) | |
| __builtin_abort(); | |
| } | |
| int main() { | |
| testsc(); | |
| testss(); | |
| return 0; | |
| } | |