Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/gcc.dg/pr59963-2.c @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 1830386684a0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/gcc.dg/pr59963-2.c Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,36 @@ +/* PR c/59963 */ +/* { dg-do compile } */ +/* { dg-options "-Woverflow -Wconversion" } */ + +extern void bar (unsigned char); +extern void bar8 (unsigned char, unsigned char, unsigned char, unsigned char, + unsigned char, unsigned char, unsigned char, unsigned char); +extern void bazu (unsigned int, ...); +extern void bazi (char, int); +extern int f (short a, short b); + +int +g (void) +{ + return f (0xffffffffL, /* { dg-warning "13:-Woverflow" } */ + 0xffffffffL) /* { dg-warning "13:-Woverflow" } */ + && f (0xffffffffL, /* { dg-warning "16:-Woverflow" } */ + 0xffffffffL); /* { dg-warning "16:-Woverflow" } */ +} + +void +foo (int i) +{ + bar (256); /* { dg-warning "8:-Woverflow" } */ + bar (6.66f); /* { dg-warning "8:conversion" } */ + bar8 (-1, /* { dg-warning "9:-Wsign-conversion" } */ + -2, /* { dg-warning "10:-Wsign-conversion" } */ + -3, /* { dg-warning "11:-Wsign-conversion" } */ + -4, /* { dg-warning "12:-Wsign-conversion" } */ + -5, /* { dg-warning "13:-Wsign-conversion" } */ + -6, /* { dg-warning "14:-Wsign-conversion" } */ + -7, /* { dg-warning "15:-Wsign-conversion" } */ + -8); /* { dg-warning "16:-Wsign-conversion" } */ + bazu (i, i); /* { dg-warning "9:conversion" } */ + bazi (0x8, 0x80000000); /* { dg-warning "14:-Wsign-conversion" "" { xfail int16 } } */ +}