[geany/geany] 1c4a9d: C++: Fix parsing of global scope qualifiers in base class lists

Colomban Wendling git-noreply at xxxxx
Sun Jan 17 03:03:24 UTC 2016


Branch:      refs/heads/master
Author:      Colomban Wendling <ban at herbesfolles.org>
Committer:   Colomban Wendling <ban at herbesfolles.org>
Date:        Sun, 17 Jan 2016 03:03:24 UTC
Commit:      1c4a9d8dd3b1c991052088aee3b7641fb54197dd
             https://github.com/geany/geany/commit/1c4a9d8dd3b1c991052088aee3b7641fb54197dd

Log Message:
-----------
C++: Fix parsing of global scope qualifiers in base class lists

See also https://sourceforge.net/p/ctags/bugs/194/

I didn't use the exact upstream patch only altering the C++ code path,
because as far as I know no c.c language recognize two consecutive
colons separated by whitespace as a single token, so there's no point
in carrying on mistakes from the past.


Modified Paths:
--------------
    tagmanager/ctags/c.c
    tests/ctags/bug1799343-1.cpp.tags
    tests/ctags/bug1799343-2.cpp.tags

Modified: tagmanager/ctags/c.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -2639,7 +2639,7 @@ static boolean inheritingDeclaration (declType decl)
 
 static void processColon (statementInfo *const st)
 {
-	int c = skipToNonWhite ();
+	int c = cppGetc ();
 	const boolean doubleColon = (boolean) (c == ':');
 
 	if (doubleColon)


Modified: tests/ctags/bug1799343-1.cpp.tags
5 lines changed, 3 insertions(+), 2 deletions(-)
===================================================================
@@ -1,6 +1,7 @@
 # format=tagmanager
 C�2048�0
-D�16�()�0
+D�16�()�D�0
+D�2048�0
 main�16�(void)�0�int
 x�64�C�0�int
-~D�16�()�0
+~D�16�()�D�0


Modified: tests/ctags/bug1799343-2.cpp.tags
5 lines changed, 3 insertions(+), 2 deletions(-)
===================================================================
@@ -5,10 +5,11 @@ C
 P�1�0
 P�1�A�0
 Q�1�A�0
+R�1�A::C�0
 S�1�B�0
-f�16�(int v)�A::C::<anonymous>�0�int
+f�16�(int v)�A::C::R�0�int
 t�64�B::S�0�int
 x�64�A::P�0�int
 x�64�P�0�int
 y�64�A::Q�0�int
-z�64�A::C::<anonymous>�0�int
+z�64�A::C::R�0�int



--------------
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