Review Request: "noexcept" keyword parsing
Ivan Shapovalov
intelfx100 at gmail.com
Sat Apr 7 11:53:58 UTC 2012
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104498/
-----------------------------------------------------------
(Updated April 7, 2012, 11:53 a.m.)
Review request for KDevelop.
Changes
-------
Fixed preprocessor bug when numeric values ending with "L" failed to parse correctly.
Description (updated)
-------
Adds initial parser support for "noexcept" and "noexcept(...)" declaration specifiers in KDevelop C++ parser.
This is particularly useful with new GCC toolchain version 4.7.0, where these keywords are frequently used throughout STL.
UPDATE: Also, fixed preprocessor bug when numeric values ending with "L" failed to parse correctly. This is also related to GCC 4.7.0 toolchain support
since there exist constructions like "#if __cplusplus", where __cplusplus is defined to 201103L.
This addresses bug 297604.
http://bugs.kde.org/show_bug.cgi?id=297604
Diffs (updated)
-----
languages/cpp/parser/ast.h 46ecac7
languages/cpp/parser/codegenerator.cpp 962fe5b
languages/cpp/parser/default_visitor.cpp 174e5d9
languages/cpp/parser/lexer.cpp 0cdad1e
languages/cpp/parser/parser.cpp 50c09a8
languages/cpp/parser/rpp/pp-engine.cpp 2d0e9ea
languages/cpp/parser/tokens.h 3e73330
languages/cpp/parser/tokens.cpp 3d8c05f
Diff: http://git.reviewboard.kde.org/r/104498/diff/
Testing
-------
A test file with intensive STL usage is uploaded.
Steps to reproduce:
1) Open the test file in KDevelop 4.3.60 compiled from branch 'master' (commit 8c73677)
See that "std::pair<>" is resolved as function with no return type; "std::map<>" and "std::vector<>" are not highlighted at all.
2) Apply patches, rebuild KDevelop and clear your current DUChain cache
# rm -rf ~/.kdevduchain
3) Reopen the test file
See that all STL typedefs and method calls are parsed and highlighted correctly.
Thanks,
Ivan Shapovalov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20120407/37e623f0/attachment.html>
More information about the KDevelop-devel
mailing list