summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2020-11-09 17:40:58 (GMT)
committeralbert-github <albert.tests@gmail.com>2020-11-09 17:40:58 (GMT)
commit7171bbba9259bc7d22e09454ca9d7381d13c94e2 (patch)
tree4fe3bfae4f2f837163d39526ad6cbf85fc927ad7 /src
parent6922d5d63d77c8f640c58e9c68a9955f9f0aa9a7 (diff)
downloadDoxygen-7171bbba9259bc7d22e09454ca9d7381d13c94e2.zip
Doxygen-7171bbba9259bc7d22e09454ca9d7381d13c94e2.tar.gz
Doxygen-7171bbba9259bc7d22e09454ca9d7381d13c94e2.tar.bz2
Doxygen crashes on Fortran
When having a Fortran file like: ``` !> module docu MODULE test_mod INTERFACE !> @brief iets SUBROUTINE subr_i(this) INTEGER this END SUBROUTINE subr_i END INTERFACE !< @brief type brief TYPE, PUBLIC :: test_type !> docu integer i END TYPE test_type END MODULE test_mod ``` this is due to the fact that a incorrect start of comment `!<` is used for the `TYPE` and that initiated because the last `SUBROUTINE` argument does not have any documentation. The actual cause is that at the end of a subroutine the `vtype` is not properly reset.
Diffstat (limited to 'src')
-rw-r--r--src/fortranscanner.l1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index dfca1f8..6b581d2 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -774,6 +774,7 @@ private {
yyterminate();
}
yyextra->subrCurrent.pop_back();
+ yyextra->vtype = V_IGNORE;
yy_pop_state(yyscanner) ;
}
<BlockData>{