Consider the following example source code:
struct foo;
struct bar;
#pragma alias (struct foo, struct bar)
struct foo {
int f1;
int f2;
} *fp;
struct bar {
short b1;
short b2;
int b3;
} *bp;The pragma in this example tells the compiler that foo and bar are allowed to alias each other. The compiler makes the following assumptions about alias information: