ICC 13 update 1 fails on this code:
int b; for(int x : b);
With this error:
internal error: assertion failed at: "shared/cfe/edgcpfe/overload.c", line 8257
So icc fails if second argument have not begin/end members.
I think there should be error like this: error class `int' doesn't have member begin(end)