struct A { int a; int b[2]; }; struct B { int c; struct A d; }; static struct B a= {1, {1, {1, 1}}}; static int *b = &a.d.a; // OK static int *c = &(&a.d)->a; // OK static int *d = a.d.b; // OK static int *e = (&a.d)->b; // OK static int *f = &a.d.b[1]; // OK static int *g = &(&a.d)->b[1]; // OK /* * check-name: constexpr static object's member address * check-command: sparse -Wconstexpr-not-const $file * * check-error-start * check-error-end */