6 int f(int *a, int b, int **c)
11 *x = 3; /* 1. modifies *a */
14 *y = 4; /* 2. modifies *a */
16 globp = a; /* 3. modifies *globp */
17 if (*x == 3) return 3; /* 4. returns aliasing globp */
21 globp = z; /* 5, 6. z use before def, modifies globp */
25 *globp = 4; /* 7, 8. modifies *a, *globp */
28 *x = 7; /* 9, 10. modifies *globp, *a */
31 *x = 4; /* 11. modifies glob */
38 *x = 4; /* 12. modifies **c */
40 *a = 4; /* 13. modifies **c (but not *a) */
41 *globp = 3; /* 14, 15. modifies *globp, modifies *a */
42 return 4; /* 16. returns with globp aliasing a */
49 mut_mod (a); /* 17. modifies a */
51 mut_mod (a); /* 18. modifies b */
53 mut_mod (b); /* okay */
55 return 3; /* 19. locally allocated storage c not released */