wstrict-aliasing-bogus-ref-all.c
来自「用于进行gcc测试」· C语言 代码 · 共 42 行
C
42 行
/* { dg-do compile } *//* { dg-options "-O2 -Wall" } */struct g { long a; };unsigned long f(struct g *a) { return *(unsigned long *)&a->a; }struct A{ void *a;};int g(const struct A *x, long *y){ typedef long __attribute__ ((may_alias)) long_a; *y = *(const long_a *) (&x->a); return 1;}void *a;intf0 (long *y){ *y = *(const long *) &a; /* { dg-warning "will break" } */ return 1;}intf1 (long *y){ typedef long __attribute__ ((may_alias)) long_a; *y = *(const long_a *) &a; return 1;}intf2 (long *y){ *y = *(const long *) &a; /* { dg-warning "will break" } */ return 1;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?