blob: ee41bdf2717fd8103b295d83f3706e779ad0bcad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
char B[256 * sizeof(void *)];
typedef void *FILE;
typedef struct globals {
int c;
FILE *l;
} __attribute__((may_alias)) T;
void add_input_file(FILE *file)
{
(*(T*)&B).l[0] = file;
}
extern void abort (void);
int main()
{
FILE x;
(*(T*)&B).l = &x;
add_input_file ((void *)-1);
if ((*(T*)&B).l[0] != (void *)-1)
abort ();
return 0;
}
|