1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
typedef /*@integraltype@*/ a_int;
typedef /*@unsignedintegraltype@*/ u_int;
typedef /*@signedintegraltype@*/ s_int;
int f (a_int a, u_int u, s_int s)
{
unsigned long ul;
long l;
printf ("the values are: %d %ld %ud", a, u, s); /* expect 3 errors */
ul = a; /* Assignment of a_int to unsigned long int: ul = a */
/*@+longunsignedintegral@*/
ul = a;
/*@+longintegral@*/
ul = a;
if (u == a) printf ("yo!");
/*@+matchanyintegral@*/
if (u == l) printf ("yo!");
if (u == a) printf ("yo!");
/*@=matchanyintegral@*/
/*@+longsignedintegral@*/
printf ("i'm okay: %ld", s);
/*@+longunsignedunsignedintegral@*/
printf ("you're not! %ld", u);
printf ("you're not! %ud", u);
return a;
}
|