[geany/geany] fa0f92: Prevent C++ static_assert from stopping parsing
elextr
git-noreply at xxxxx
Sun Jun 23 07:31:20 UTC 2013
Branch: refs/heads/master
Author: elextr <elextr at gmail.com>
Committer: elextr <elextr at gmail.com>
Date: Sun, 23 Jun 2013 07:31:20 UTC
Commit: fa0f92def2bf584ed1f6ae836e509f38324f8b6c
https://github.com/geany/geany/commit/fa0f92def2bf584ed1f6ae836e509f38324f8b6c
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).
More information about the Commits
mailing list