次の例のソースコードを考えてみましょう。
struct foo {
        short f1;
        short f2;
        int   f3;
} *fp;
struct bar {
        int b1;
        int b2;
} *bp;
union moo {
        struct foo u_f;
        struct bar u_b;
} u;さまざまな別名レベルに基づくコンパイラの仮定を、次に示します。
この例が -xalias_level=weak オプションでコンパイルされる場合、fp->f3 および bp->b2 は相互に別名設定できます。
この例が -xalias_level=layout オプションでコンパイルされる場合、フィールドは相互に別名設定できません。
この例が -xalias_level=strict オプションでコンパイルされる場合、fp->f3 および bp->b2 は相互に別名設定できます。
この例が -xalias_level=std オプションでコンパイルされる場合、フィールドは相互に別名設定できません。