doxygen: fix build with gcc@10: for version 1.8.15 (#23680)
This commit is contained in:
parent
c22a5326d8
commit
b41ee03475
@ -0,0 +1,30 @@
|
||||
From 788440279e0f0fdc7dce27ec266d7d5c11bcda1c Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Hatch <mrhatch97@gmail.com>
|
||||
Date: Thu, 9 May 2019 01:05:43 -0700
|
||||
Subject: [PATCH] Fixed C++17-namespace assignment bug
|
||||
|
||||
Added scope save and restore before and after namespace parsing
|
||||
---
|
||||
src/scanner.l | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/scanner.l b/src/scanner.l
|
||||
index d3902b38d..5395e499c 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 ) ;
|
@ -78,6 +78,10 @@ def determine_variants(cls, exes, version_str):
|
||||
# Also - https://github.com/doxygen/doxygen/pull/6588
|
||||
patch('shared_ptr.patch', when='@1.8.14')
|
||||
|
||||
# Support C++17's nested namespaces a::b::c. For details about this patch, see
|
||||
# https://github.com/doxygen/doxygen/pull/6977/commits/788440279e0f0fdc7dce27ec266d7d5c11bcda1c
|
||||
patch('cpp17_namespaces.patch', when='@1.8.15')
|
||||
|
||||
# Workaround for gcc getting stuck in an infinite loop
|
||||
patch('gcc-partial-inlining-bug.patch', when='@1.8.20: %gcc@7')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user