summaryrefslogtreecommitdiffstats
path: root/src/scanner.l
diff options
context:
space:
mode:
authorMatthew Hatch <mrhatch97@gmail.com>2019-05-09 08:05:43 (GMT)
committerMatthew Hatch <mrhatch97@gmail.com>2019-05-09 08:08:47 (GMT)
commit788440279e0f0fdc7dce27ec266d7d5c11bcda1c (patch)
treef41f1736cfb5e53c2e1c64263b747ea720656a29 /src/scanner.l
parent80bcb700045047a67b580fd1c3df3f47992e2d64 (diff)
downloadDoxygen-788440279e0f0fdc7dce27ec266d7d5c11bcda1c.zip
Doxygen-788440279e0f0fdc7dce27ec266d7d5c11bcda1c.tar.gz
Doxygen-788440279e0f0fdc7dce27ec266d7d5c11bcda1c.tar.bz2
Fixed C++17-namespace assignment bug
Added scope save and restore before and after namespace parsing
Diffstat (limited to 'src/scanner.l')
-rw-r--r--src/scanner.l2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l
index d3902b3..5395e49 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -3941,6 +3941,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
else
{
current->endBodyLine = yyLineNr;
+ Entry * original_root = current_root; // save root this namespace is in
if (current->section == Entry::NAMESPACE_SEC && current->type == "namespace")
{
int split_point;
@@ -4005,6 +4006,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
)
{ // namespaces and interfaces and java classes ends with a closing bracket without semicolon
current->reset();
+ current_root = original_root; // restore scope from before namespace descent
initEntry();
memspecEntry = 0;
BEGIN( FindMembers ) ;