summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2018-10-28 14:53:08 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2018-10-28 14:53:08 (GMT)
commit49b63cdcaf884ae2d676749915f003608bd9dc13 (patch)
tree330eb717af2ede6dc139f0b955283701dab0c442
parentfaaf508736a2daac4b8a0d5c2b4bb2a4638078f4 (diff)
parentd0852053693f3f56741657f2a5167950e4d000d5 (diff)
downloadDoxygen-49b63cdcaf884ae2d676749915f003608bd9dc13.zip
Doxygen-49b63cdcaf884ae2d676749915f003608bd9dc13.tar.gz
Doxygen-49b63cdcaf884ae2d676749915f003608bd9dc13.tar.bz2
Merge branch 'albert-github-feature/bug_520975'
-rw-r--r--src/defargs.l17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/defargs.l b/src/defargs.l
index 7f1e1bb..52052fa 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -52,6 +52,7 @@
#include <assert.h>
#include <ctype.h>
#include <qregexp.h>
+#include <qcstringlist.h>
#include "defargs.h"
#include "entry.h"
@@ -102,6 +103,19 @@ static int yyread(char *buf,int max_size)
return c;
}
+/* bug_520975 */
+static bool checkSpecialType(QCString &typ, QCString &nam)
+{
+ if (nam == "unsigned" || nam == "signed" ||
+ nam == "volatile" || nam == "const") return TRUE;
+ QCStringList qsl=QCStringList::split(' ',typ);
+ for (uint j=0;j<qsl.count();j++)
+ {
+ if (!(qsl[j] == "unsigned" || qsl[j] == "signed" ||
+ qsl[j] == "volatile" || qsl[j] == "const")) return FALSE;
+ }
+ return TRUE;
+}
%}
B [ \t]
@@ -384,8 +398,7 @@ RAWEND ")"[^ \t\(\)\\]{0,16}\"
a->type.mid(sv)=="union" ||
a->type.mid(sv)=="class" ||
a->type.mid(sv)=="typename" ||
- a->type=="const" ||
- a->type=="volatile"
+ checkSpecialType(a->type, a->name)
)
{
a->type = a->type + " " + a->name;