]> andersk Git - splint.git/blob - test/abstptr.c
noexpand always false.
[splint.git] / test / abstptr.c
1 typedef int *abst;
2
3 /*@noaccess abst*/
4 int main (void)
5 {
6   abst a;
7   int b = 3;
8   abst *ap = (abst *) NULL;
9   abst *ap2 = NULL;
10   void *vp;
11   int *ip;
12
13   vp = ap ; /* 1. Assignment of abst * to void *: vp = ap */
14   ip = ap2; /* 2. Assignment of abst * to int *: ip = ap2 */
15   ap = ip ; /* 3. Assignment of int * to abst *: ap = ip */
16   vp = (void *) ap ; /* 4. Cast from underlying abstract type abst *: (void *)ap */
17   a = *ap ; /* 5. Possible dereference of null pointer: *ap */    
18   *ap = a ;
19   vp = (void *)&a ; /* 6. Cast from underlying abstract type abst *: (void *)&a */
20   ap = (abst *)&b ; /* 7. Cast to underlying abstract type abst *: (abst *)&b */
21   ap = &b; /* 8. Assignment of int * to abst *: ap = &b */
22   *ap = b; /* 9. Assignment of int to abst: *ap = b */
23   return 12;
24 }
This page took 0.039102 seconds and 5 git commands to generate.