int i; | |
struct X { | |
int *p; | |
}; | |
struct X * __attribute__((malloc)) | |
my_alloc (void) | |
{ | |
struct X *p = __builtin_malloc (sizeof (struct X)); | |
p->p = &i; | |
return p; | |
} | |
extern void abort (void); | |
int main() | |
{ | |
struct X *p, *q; | |
p = my_alloc (); | |
q = my_alloc (); | |
*(p->p) = 1; | |
*(q->p) = 0; | |
if (*(p->p) != 0) | |
abort (); | |
return 0; | |
} |