https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69215
--- Comment #1 from graham.stott at btinternet dot com --- Ok thats quick only 1 hour plus 2 hour car airport. I been by train long time sleep on train in bed and by bus both 12 hrs if I recall correctly. Might be home now. 😍💏💏💏💏 -------- Original message -------- From: rs2740 at gmail dot com <gcc-bugzi...@gcc.gnu.org> Date: 10/01/2016 05:11 (GMT+00:00) To: gcc-bugs@gcc.gnu.org Subject: [Bug c++/69215] New: Improve diagnostic for 'for(i : v)' https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69215 Bug ID: 69215 Summary: Improve diagnostic for 'for(i : v)' Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: diagnostic Severity: enhancement Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rs2740 at gmail dot com Target Milestone: --- Something like #include <vector> int main(){ std::vector<int> v; for(i : v) {} } produces a storm of not-very-enlightening errors on trunk: prog.cc: In function 'int main()': prog.cc:5:11: error: found ':' in nested-name-specifier, expected '::' for(i : v) {} ^ prog.cc:5:9: error: 'i' has not been declared for(i : v) {} ^ prog.cc:6:1: error: expected primary-expression before '}' token } ^ prog.cc:6:1: error: expected ';' before '}' token prog.cc:6:1: error: expected primary-expression before '}' token prog.cc:6:1: error: expected ')' before '}' token prog.cc:6:1: error: expected primary-expression before '}' token in contrast to clang's: prog.cc:5:9: error: range-based for loop requires type for loop variable for(i : v) {} ^ Perhaps the code implementing N3994, removed by r229632, can be repurposed instead to produce a better error message?