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)

Reply via email to