Community
Participate
Working Groups
Build Identifier: 20100917-0705 When using some new C++0x language features, Eclipse underlines (with orange) the code in the editor, because it doesn't know the new syntax. Examples: - iterating over a container: vector<int> v = { 2, 1, 4 }; // not the matter, recognized for (int &i : v) cout << i << endl; - lambda expressions: (assuming the same vector as above) std::for_each (v.begin(), v.end (), [] (int &i) { cout << i << endl; }); It would be nice to see these features recoginzed by Eclipse so that the code won't get unreadable by warning underlinings. Reproducible: Always
I think this is already in CDT 8.0, see bug 316307. If you want to try it, you can download a build here: http://download.eclipse.org/tools/cdt/builds/8.0.0/index.html
I just installed the most recent build from http://download.eclipse.org/tools/cdt/builds/8.0.0/I.I201009242334/index.html and Eclipse now recognizes the lambda expressions, but still complains about the range-based for loop.
Wrong Component. C++0x is still a work in progress. I believe Markus has bugs open for this already. We're almost there.
I have not yet created bugs for all of the c++0x features, lambda expressions are covered by bug 316307. I will use this bug for 'Range based for', the specification is here: http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2930.html
Created attachment 181395 [details] testcase + fix
Implemented in 8.0 > 20101021
*** cdt cvs genie on behalf of mschorn *** Bug 327223: [C++0x] Range-based for loop. [*] StatementWriter.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/StatementWriter.java?root=Tools_Project&r1=1.3&r2=1.4 [*] NodeWriter.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/NodeWriter.java?root=Tools_Project&r1=1.3&r2=1.4 [*] DeclarationWriter.java 1.10 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/rewrite/astwriter/DeclarationWriter.java?root=Tools_Project&r1=1.9&r2=1.10 [*] CPPVisitor.java 1.142 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPVisitor.java?root=Tools_Project&r1=1.141&r2=1.142 [*] CPPSemantics.java 1.195 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPSemantics.java?root=Tools_Project&r1=1.194&r2=1.195 [+] CPPASTRangeBasedForStatement.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTRangeBasedForStatement.java?root=Tools_Project&revision=1.1&view=markup [*] CPPNodeFactory.java 1.19 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPNodeFactory.java?root=Tools_Project&r1=1.18&r2=1.19 [*] GNUCPPSourceParser.java 1.243 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/GNUCPPSourceParser.java?root=Tools_Project&r1=1.242&r2=1.243 [*] ICPPNodeFactory.java 1.15 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPNodeFactory.java?root=Tools_Project&r1=1.14&r2=1.15 [+] ICPPASTRangeBasedForStatement.java http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/cpp/ICPPASTRangeBasedForStatement.java?root=Tools_Project&revision=1.1&view=markup [*] DeclarationOptions.java 1.12 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/DeclarationOptions.java?root=Tools_Project&r1=1.11&r2=1.12 [*] VariableReadWriteFlags.java 1.7 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/VariableReadWriteFlags.java?root=Tools_Project&r1=1.6&r2=1.7 [*] AST2CPPTests.java 1.372 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt-core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ast2/AST2CPPTests.java?root=Tools_Project&r1=1.371&r2=1.372