📄 array-8.c
字号:
/* Test diagnostics for array references. *//* Origin: Joseph Myers <joseph@codesourcery.com> *//* { dg-do compile } *//* { dg-options "-std=gnu89" } */struct s { char c[1]; };struct s f (void);_Bool b;char c;enum e { E } e;extern int a[];int *p;void *pv;void (*fp)(void);struct si *sip;voidg (void){ a[b]; a[c]; a[e]; p[b]; p[c]; p[e]; b[a]; c[a]; e[a]; b[p]; c[p]; e[p]; /* These two should be treated the same. In particular, a "neither array nor pointer" bogus warning used to be given for the second. */ f().c[0]; 0[f().c]; /* Various invalid cases. */ c[c]; /* { dg-error "error: subscripted value is neither array nor pointer" } */ p[1.0]; /* { dg-error "error: array subscript is not an integer" } */ 1.0[a]; /* { dg-error "error: array subscript is not an integer" } */ fp[0]; /* { dg-error "error: subscripted value is pointer to function" } */ 0[fp]; /* { dg-error "error: subscripted value is pointer to function" } */ pv[0]; /* { dg-warning "warning: dereferencing 'void \\*' pointer" } */ 0[pv]; /* { dg-warning "warning: dereferencing 'void \\*' pointer" } */ sip[0]; /* { dg-error "error: invalid use of undefined type 'struct si'" } */ /* { dg-error "error: dereferencing pointer to incomplete type" "incomplete" { target *-*-* } 45 } */ 0[sip]; /* { dg-error "error: invalid use of undefined type 'struct si'" } */ /* { dg-error "error: dereferencing pointer to incomplete type" "incomplete" { target *-*-* } 47 } */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -