// { 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;
}
