summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2017-08-17 16:08:05 (GMT)
committeralbert-github <albert.tests@gmail.com>2017-08-17 16:08:05 (GMT)
commit2f5e22a4be9d237a150d04659bf6abec1349fbd9 (patch)
tree829feb205476d6bea8cec7e0894839750c2f55a6 /src
parent0072ba56aa994208b61515c60b6cbfaee2244d4d (diff)
downloadDoxygen-2f5e22a4be9d237a150d04659bf6abec1349fbd9.zip
Doxygen-2f5e22a4be9d237a150d04659bf6abec1349fbd9.tar.gz
Doxygen-2f5e22a4be9d237a150d04659bf6abec1349fbd9.tar.bz2
Bug 786409 - parsing error in Fortran file with preprocessing
Problem with ' (single quote) in Fortran. A string in Fortran can be between single or double quotes.
Diffstat (limited to 'src')
-rw-r--r--src/pre.l11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pre.l b/src/pre.l
index 4c4763d..b2e545a 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1984,6 +1984,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defArgsStr+=*yytext;
BEGIN(ReadString);
}
+<FindDefineArgs>' {
+ if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT;
+ g_defArgsStr+=*yytext;
+ BEGIN(ReadString);
+ }
<FindDefineArgs>\n {
g_defArgsStr+=' ';
g_yyLineNr++;
@@ -2014,6 +2019,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defArgsStr+=*yytext;
BEGIN(FindDefineArgs);
}
+<ReadString>"'" {
+ if (getLanguageFromFileName(g_yyFileName)!=SrcLangExt_Fortran) REJECT;
+ g_defArgsStr+=*yytext;
+ BEGIN(FindDefineArgs);
+ }
+
<ReadString>"//"|"/*" {
g_defArgsStr+=yytext;
}