1/* { dg-do compile } */ 2/* { dg-options "-Wpointer-sign" } */ 3 4void f1(long *); /* { dg-message "note: expected '\[^\n'\]*' but argument is of type '\[^\n'\]*'" "note: expected" } */ 5void f2(unsigned long *); /* { dg-message "note: expected '\[^\n'\]*' but argument is of type '\[^\n'\]*'" "note: expected" } */ 6 7int main() 8{ 9 long *lp; 10 unsigned long *ulp; 11 char *cp; 12 unsigned char *ucp; 13 signed char *scp; 14 15 ulp = lp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 16 lp = ulp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 17 f1(ulp); /* { dg-warning " differ in signedness" } */ 18 f2(lp); /* { dg-warning " differ in signedness" } */ 19 20 cp = ucp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 21 cp = scp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 22 ucp = scp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 23 ucp = cp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 24 scp = ucp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 25 scp = cp; /* { dg-warning " pointer targets in assignment differ in signedness" } */ 26} 27