name lookup of 'i' changed for new ISO 'for' scoping

How often does this happen?

for(ptr=head; ptr->next; ptr++);
{
  printf("Hello!");
}

It makes sense to warn about that. If the programmer intended for it to be for->semicolon->blockofcode, they could do this:

for(ptr=head; ptr->next; ptr++) {}
{
  printf("Hello!");
}

However, obviously no warning should be shown for this:

for(ptr=head; ptr->next; ptr++);
printf("Hello!");

or this

for(ptr=head; ptr->next; ptr++) printf("Hello!");

and only maybe this

for(ptr=head; ptr->next; ptr++) printf("hi");
{
  printf("Hello!");
}