diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2006-10-04 20:28:41 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2006-10-04 20:28:41 (GMT) |
commit | 3c8148441a129febc5c2b9e4b2b2cbd018ad3b6e (patch) | |
tree | d2526ce0c99b1f268769fd8bd1c56e6dda83fd7f /src/pre.l | |
parent | c844985adde0459f1f01ed00d0a289591fbcd2af (diff) | |
download | Doxygen-3c8148441a129febc5c2b9e4b2b2cbd018ad3b6e.zip Doxygen-3c8148441a129febc5c2b9e4b2b2cbd018ad3b6e.tar.gz Doxygen-3c8148441a129febc5c2b9e4b2b2cbd018ad3b6e.tar.bz2 |
Release-1.4.7-20061004
Diffstat (limited to 'src/pre.l')
-rw-r--r-- | src/pre.l | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -69,6 +69,7 @@ struct FileState static int g_yyLineNr = 1; static QCString g_yyFileName; static FileDef *g_yyFileDef; +static FileDef *g_inputFileDef; static int g_ifcount = 0; static QStrList *g_pathList = 0; static QStack<FileState> g_includeStack; @@ -1043,17 +1044,13 @@ void addDefine() } md->setInitializer(g_defLitText.stripWhiteSpace()); - //md->setDefFile(g_yyFileName); - //md->setDefLine(g_yyLineNr); - md->setFileDef(g_yyFileDef); + md->setFileDef(g_inputFileDef); md->setDefinition("#define "+g_defName); MemberName *mn=Doxygen::functionNameSDict->find(g_defName); if (mn==0) { mn = new MemberName(g_defName); - //Doxygen::functionNameList.append(mn); - //Doxygen::functionNameDict.insert(g_defName,mn); Doxygen::functionNameSDict->append(g_defName,mn); } mn->append(md); @@ -1790,6 +1787,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) g_insideComment=FALSE; BEGIN(DefineText); } +<DefineArg>"..." { // Variadic macro + g_defVarArgs = TRUE; + g_defArgsStr+=yytext; + g_argDict->insert("__VA_ARGS__",new int(g_defArgs)); + g_defArgs++; + } <DefineArg>{ID}{B}*("..."?) { //printf("Define addArg(%s)\n",yytext); QCString argName=yytext; @@ -2372,6 +2375,7 @@ void preprocessFile(const char *fileName,BufStr &output) g_level = 0; g_ifcount = 0; setFileName(fileName); + g_inputFileDef = g_yyFileDef; BEGIN( Start ); g_lastGuardName.resize(0); |