Hello community, here is the log from the commit of package doxygen for openSUSE:Factory checked in at 2020-10-08 13:06:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/doxygen (Old) and /work/SRC/openSUSE:Factory/.doxygen.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doxygen" Thu Oct 8 13:06:52 2020 rev:80 rq:839059 version:1.8.20 Changes: -------- --- /work/SRC/openSUSE:Factory/doxygen/doxygen.changes 2020-09-24 16:13:10.736834702 +0200 +++ /work/SRC/openSUSE:Factory/.doxygen.new.4249/doxygen.changes 2020-10-08 13:07:50.878936882 +0200 @@ -1,0 +2,6 @@ +Fri Oct 2 00:59:49 UTC 2020 - Stefan BrĂ¼ns <[email protected]> + +- Fix anonymous enums from multiple files being squashed together: + Add 0001-issue-7979-C++-enums-being-defined-in-multiple-files.patch + +------------------------------------------------------------------- New: ---- 0001-issue-7979-C++-enums-being-defined-in-multiple-files.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ doxygen.spec ++++++ --- /var/tmp/diff_new_pack.hSzukL/_old 2020-10-08 13:07:52.498938349 +0200 +++ /var/tmp/diff_new_pack.hSzukL/_new 2020-10-08 13:07:52.498938349 +0200 @@ -35,6 +35,8 @@ Patch3: vhdlparser-no-return.patch Patch6: doxygen-llvm-libs.patch Patch10: doxygen-libclang-cpp.patch +# PATCH-FIX-UPSTREAM +Patch11: 0001-issue-7979-C++-enums-being-defined-in-multiple-files.patch BuildRequires: bison BuildRequires: cmake >= 2.8.12 BuildRequires: flex @@ -69,6 +71,7 @@ %patch10 -p1 %endif %endif +%patch11 -p1 %build %cmake \ ++++++ 0001-issue-7979-C++-enums-being-defined-in-multiple-files.patch ++++++ >From 9d9d08582ccea7ef90000acebfd09f8c8acc577a Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch <[email protected]> Date: Fri, 28 Aug 2020 20:22:46 +0200 Subject: [PATCH] issue #7979: C++ enums being defined in multiple files after b265433 (multi-thread input processing) --- src/scanner.l | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/scanner.l b/src/scanner.l index 7c710fa43..70f15d65c 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -60,6 +60,9 @@ #define USE_STATE2STRING 0 +static AtomicInt anonCount; +static AtomicInt anonNSCount; + struct scannerYY_state { OutlineParserInterface *thisParser; @@ -105,8 +108,6 @@ struct scannerYY_state int yyBegLineNr = 1 ; int yyColNr = 1 ; int yyBegColNr = 1 ; - int anonCount = 0 ; - int anonNSCount = 0 ; QCString yyFileName; MethodTypes mtype = Method; bool stat = false; @@ -3784,7 +3785,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) BEGIN(MemberSpecSkip); } <TypedefName>";" { /* typedef of anonymous type */ - yyextra->current->name.sprintf("@%d",yyextra->anonCount++); + yyextra->current->name.sprintf("@%d",anonCount++); if ((yyextra->current->section == Entry::ENUM_SEC) || (yyextra->current->spec&Entry::Enum)) { yyextra->current->program+=','; // add field terminator @@ -3859,7 +3860,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) { // anonymous compound yyextra->inside -> insert dummy variable name //printf("Adding anonymous variable for scope %s\n",p->name.data()); - yyextra->msName.sprintf("@%d",yyextra->anonCount++); + yyextra->msName.sprintf("@%d",anonCount++); break; } } @@ -5644,12 +5645,12 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) } else // use invisible name { - yyextra->current->name.sprintf("@%d",yyextra->anonNSCount); + yyextra->current->name.sprintf("@%d",anonNSCount.load()); } } else { - yyextra->current->name.sprintf("@%d",yyextra->anonCount++); + yyextra->current->name.sprintf("@%d",anonCount++); } } yyextra->curlyCount=0; @@ -7247,7 +7248,6 @@ static void parseMain(yyscan_t yyscanner, yyextra->column = 0; scannerYYrestart(0,yyscanner); - //yyextra->anonCount = 0; // don't reset per file //depthIf = 0; yyextra->protection = Public; yyextra->mtype = Method; @@ -7301,7 +7301,7 @@ static void parseMain(yyscan_t yyscanner, parseCompounds(yyscanner,rt); - yyextra->anonNSCount++; + anonNSCount++; // add additional entries that were created during processing for (auto &kv: yyextra->outerScopeEntries)
