s_to_u_return(signed int * sp)1static unsigned int * s_to_u_return(signed int *sp) 2 { 3 return sp; 4 } 5 u_to_s_return(unsigned int * up)6static signed int * u_to_s_return(unsigned int *up) 7 { 8 return up; 9 } 10 s_to_u_init(signed int * sp)11static unsigned int * s_to_u_init(signed int *sp) 12 { 13 unsigned int *up = sp; 14 return up; 15 } 16 u_to_s_init(unsigned int * up)17static signed int * u_to_s_init(unsigned int *up) 18 { 19 signed int *sp = up; 20 return sp; 21 } 22 s_to_u_assign(signed int * sp)23static unsigned int * s_to_u_assign(signed int *sp) 24 { 25 unsigned int *up; 26 up = sp; 27 return up; 28 } 29 u_to_s_assign(unsigned int * up)30static signed int * u_to_s_assign(unsigned int *up) 31 { 32 signed int *sp; 33 sp = up; 34 return sp; 35 } 36 37 /* 38 * check-name: -Wtypesign 39 * check-command: sparse -Wtypesign $file 40 * 41 * check-error-start 42 typesign.c:3:16: warning: incorrect type in return expression (different signedness) 43 typesign.c:3:16: expected unsigned int * 44 typesign.c:3:16: got signed int *sp 45 typesign.c:8:16: warning: incorrect type in return expression (different signedness) 46 typesign.c:8:16: expected signed int * 47 typesign.c:8:16: got unsigned int *up 48 typesign.c:13:28: warning: incorrect type in initializer (different signedness) 49 typesign.c:13:28: expected unsigned int *up 50 typesign.c:13:28: got signed int *sp 51 typesign.c:19:26: warning: incorrect type in initializer (different signedness) 52 typesign.c:19:26: expected signed int *sp 53 typesign.c:19:26: got unsigned int *up 54 typesign.c:26:12: warning: incorrect type in assignment (different signedness) 55 typesign.c:26:12: expected unsigned int *up 56 typesign.c:26:12: got signed int *sp 57 typesign.c:33:12: warning: incorrect type in assignment (different signedness) 58 typesign.c:33:12: expected signed int *sp 59 typesign.c:33:12: got unsigned int *up 60 * check-error-end 61 */ 62