/* Must define: int expect_error; void test (); void setup () NOCHECK; */ #include "driver.h" int expect_error = 1; typedef struct { short a; char b; } S1; typedef struct { struct { int x; S1 *s1p; } *p; } S2; S1 *s1; S2 *s2; void test () { s1 = c_malloc (sizeof (S1)); s2 = c_malloc (sizeof (S2)); s2->p = c_malloc (sizeof (*s2->p)); s2->p->s1p = s1; s1->a = 47; foo (); } int foo () { return s2->p->s1p->b; } void setup () /* NOCHECK */ { mark_region (&s1, sizeof (s1), ACCESS_RW); mark_region (&s2, sizeof (s2), ACCESS_RW); }