Branch: refs/heads/master Author: elextr elextr@gmail.com Committer: elextr elextr@gmail.com Date: Sun, 23 Jun 2013 07:31:20 UTC Commit: fa0f92def2bf584ed1f6ae836e509f38324f8b6c https://github.com/geany/geany/commit/fa0f92def2bf584ed1f6ae836e509f38324f8b...
Log Message: ----------- Prevent C++ static_assert from stopping parsing
For some conditions static_assert was stopping further parsing. For example: static_assert(a<1,"too small"); would stop all further parsing. Now static_assert is recognised and content of the parens is ignored.
Modified Paths: -------------- tagmanager/ctags/c.c
Modified: tagmanager/ctags/c.c 5 files changed, 4 insertions(+), 1 deletions(-) =================================================================== @@ -82,7 +82,8 @@ KEYWORD_PROGRAM, KEYWORD_PROTECTED, KEYWORD_PUBLIC, KEYWORD_REF, KEYWORD_REGISTER, KEYWORD_RETURN, KEYWORD_SHADOW, KEYWORD_STATE, - KEYWORD_SET, KEYWORD_SHORT, KEYWORD_SIGNAL, KEYWORD_SIGNED, KEYWORD_SIZE_T, KEYWORD_STATIC, KEYWORD_STRING, + KEYWORD_SET, KEYWORD_SHORT, KEYWORD_SIGNAL, KEYWORD_SIGNED, KEYWORD_SIZE_T, KEYWORD_STATIC, + KEYWORD_STATIC_ASSERT, KEYWORD_STRING, KEYWORD_STRUCT, KEYWORD_SWITCH, KEYWORD_SYNCHRONIZED, KEYWORD_TASK, KEYWORD_TEMPLATE, KEYWORD_THIS, KEYWORD_THROW, KEYWORD_THROWS, KEYWORD_TRANSIENT, KEYWORD_TRANS, KEYWORD_TRANSITION, @@ -476,6 +477,7 @@ { "size_t", KEYWORD_SIZE_T, { 1, 1, 0, 0, 0, 1, 1 } }, { "state", KEYWORD_STATE, { 0, 0, 0, 0, 1, 0, 0 } }, { "static", KEYWORD_STATIC, { 1, 1, 1, 1, 1, 1, 1 } }, + { "static_assert", KEYWORD_STATIC_ASSERT, { 0, 1, 0, 0, 0, 0, 0 } }, { "string", KEYWORD_STRING, { 0, 0, 1, 0, 1, 1, 0 } }, { "struct", KEYWORD_STRUCT, { 1, 1, 1, 0, 0, 1, 1 } }, { "switch", KEYWORD_SWITCH, { 1, 1, 1, 1, 0, 1, 1 } }, @@ -2014,6 +2016,7 @@ static void processToken (tokenInfo *const token, statementInfo *const st) case KEYWORD_SHORT: st->declaration = DECL_BASE; break; case KEYWORD_SIGNED: st->declaration = DECL_BASE; break; case KEYWORD_STRUCT: checkIsClassEnum (st, DECL_STRUCT); break; + case KEYWORD_STATIC_ASSERT: skipParens (); break; case KEYWORD_THROWS: discardTypeList (token); break; case KEYWORD_TYPEDEF: st->scope = SCOPE_TYPEDEF; break; case KEYWORD_UNION: st->declaration = DECL_UNION; break;
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).