// { dg-do run } // Postfix expression must be evaluated even if accessing a static member. struct S { static int i; S* foo(); }; S* S::foo(){ i = 0; return this; } int S::i = 1; int main(void) { S * s = new S; int k=(s->foo())->i; return k; }