Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package clang-extract for openSUSE:Factory 
checked in at 2026-02-24 17:58:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/clang-extract (Old)
 and      /work/SRC/openSUSE:Factory/.clang-extract.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "clang-extract"

Tue Feb 24 17:58:57 2026 rev:19 rq:1334821 version:0~20260224.7ad9595

Changes:
--------
--- /work/SRC/openSUSE:Factory/clang-extract/clang-extract.changes      
2025-10-21 11:18:14.011365263 +0200
+++ /work/SRC/openSUSE:Factory/.clang-extract.new.1977/clang-extract.changes    
2026-02-24 17:58:57.991586958 +0100
@@ -1,0 +2,7 @@
+Tue Feb 24 16:17:20 UTC 2026 - [email protected]
+
+- Update to version 0~20260224.7ad9595:
+  * Add support for TLS variables
+  * Ignore -Wfree-labels and -Wmissing-parameter-name
+
+-------------------------------------------------------------------

Old:
----
  clang-extract-0~20251020.19c1329.tar.xz

New:
----
  clang-extract-0~20260224.7ad9595.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ clang-extract.spec ++++++
--- /var/tmp/diff_new_pack.gXne5v/_old  2026-02-24 17:58:59.735659082 +0100
+++ /var/tmp/diff_new_pack.gXne5v/_new  2026-02-24 17:58:59.751659743 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package clang-extract
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           clang-extract
-Version:        0~20251020.19c1329
+Version:        0~20260224.7ad9595
 Release:        0
 Summary:        A tool to extract code content from source files
 License:        Apache-2.0 WITH LLVM-exception AND NCSA

++++++ _service ++++++
--- /var/tmp/diff_new_pack.gXne5v/_old  2026-02-24 17:58:59.991669669 +0100
+++ /var/tmp/diff_new_pack.gXne5v/_new  2026-02-24 17:59:00.023670992 +0100
@@ -2,7 +2,7 @@
        <service name="tar_scm" mode="manual">
                <param name="scm">git</param>
                <param name="url">https://github.com/SUSE/clang-extract</param>
-               <param 
name="revision">19c13299e893581112c15d6f1d123c4c7f824527</param>
+               <param 
name="revision">7ad959571de4cbf670898aaa17707300817b7686</param>
                <param name="versionformat">0~%cd.%h</param>
                <param name="changesgenerate">enable</param>
         <param name="changesauthor">[email protected]</param>

++++++ clang-extract-0~20251020.19c1329.tar.xz -> 
clang-extract-0~20260224.7ad9595.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-extract-0~20251020.19c1329/libcextract/ArgvParser.cpp 
new/clang-extract-0~20260224.7ad9595/libcextract/ArgvParser.cpp
--- old/clang-extract-0~20251020.19c1329/libcextract/ArgvParser.cpp     
2025-10-20 17:03:40.000000000 +0200
+++ new/clang-extract-0~20260224.7ad9595/libcextract/ArgvParser.cpp     
2026-02-24 17:12:41.000000000 +0100
@@ -54,6 +54,8 @@
   "-Wimplicit-fallthrough=",
   "-Wendif-labels",
   "-Wmissing-selector-name",
+  "-Wfree-labels",
+  "-Wmissing-parameter-name",
 };
 
 ArgvParser::ArgvParser(int argc, char **argv)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-extract-0~20251020.19c1329/libcextract/DscFileGenerator.cpp 
new/clang-extract-0~20260224.7ad9595/libcextract/DscFileGenerator.cpp
--- old/clang-extract-0~20251020.19c1329/libcextract/DscFileGenerator.cpp       
2025-10-20 17:03:40.000000000 +0200
+++ new/clang-extract-0~20260224.7ad9595/libcextract/DscFileGenerator.cpp       
2026-02-24 17:12:41.000000000 +0100
@@ -92,6 +92,29 @@
   }
 }
 
+static bool Is_TLS(VarDecl *decl)
+{
+  return decl->getTLSKind() == VarDecl::TLS_None ? false : true;
+}
+
+static bool Is_TLS(const DeclContext::lookup_result &decls)
+{
+  bool is_tls = false;
+
+  for (auto it = decls.begin(); it != decls.end(); ++it) {
+    if (VarDecl *vdecl = dyn_cast<VarDecl>(*it)) {
+      is_tls |= Is_TLS(vdecl);
+    }
+  }
+
+  return is_tls;
+}
+
+static std::string Get_TLS_Token(bool predicate)
+{
+  return predicate == true ? "%" : "";
+}
+
 void DscFileGenerator::Local_Symbols(void)
 {
   TranslationUnitDecl *tu = AST->getASTContext().getTranslationUnitDecl();
@@ -102,9 +125,11 @@
       DeclContext::lookup_result decls = tu->lookup(
                                           
DeclarationName(&idtbl.get(entry.NewName)));
       if (decls.empty()) {
-        throw std::runtime_error("Unable to find symbol " + entry.NewName + " 
in the AST");
+        throw std::runtime_error("Unable to find symbol " + entry.NewName +
+                                " in the AST");
       }
-      Out << "\n#" << entry.OldName << ":" << entry.NewName;
+      Out << "\n#" << Get_TLS_Token(Is_TLS(decls)) << entry.OldName << ":" <<
+            entry.NewName;
       std::string mod = IA.Get_Symbol_Module(entry.OldName);
       if (!mod.empty())
         Out << ":" << mod;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-extract-0~20251020.19c1329/libcextract/PrettyPrint.cpp 
new/clang-extract-0~20260224.7ad9595/libcextract/PrettyPrint.cpp
--- old/clang-extract-0~20251020.19c1329/libcextract/PrettyPrint.cpp    
2025-10-20 17:03:40.000000000 +0200
+++ new/clang-extract-0~20260224.7ad9595/libcextract/PrettyPrint.cpp    
2026-02-24 17:12:41.000000000 +0100
@@ -36,7 +36,6 @@
     return;
 
   if (decl->hasAttrs()) {
-    const SourceManager &SM = decl->getASTContext().getSourceManager();
     AttrVec &Attrs = decl->getAttrs();
 
     /* Clang always seems to insert the `asm` label last, but lets just swap
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-extract-0~20251020.19c1329/libcextract/SymbolExternalizer.cpp 
new/clang-extract-0~20260224.7ad9595/libcextract/SymbolExternalizer.cpp
--- old/clang-extract-0~20251020.19c1329/libcextract/SymbolExternalizer.cpp     
2025-10-20 17:03:40.000000000 +0200
+++ new/clang-extract-0~20260224.7ad9595/libcextract/SymbolExternalizer.cpp     
2026-02-24 17:12:41.000000000 +0100
@@ -646,6 +646,12 @@
     ret->addAttr(UsedAttr::Create(astctx));
   }
 
+  /* In case the original Decl has TLS storage, we must copy it to the new
+     variable as well.  */
+  if (VarDecl *vdecl = dyn_cast<VarDecl>(decl)) {
+    ret->setTSCSpec(vdecl->getTSCSpec());
+  }
+
   /* return node.  */
   return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/clang-extract-0~20251020.19c1329/testsuite/small/tls-1.c 
new/clang-extract-0~20260224.7ad9595/testsuite/small/tls-1.c
--- old/clang-extract-0~20251020.19c1329/testsuite/small/tls-1.c        
1970-01-01 01:00:00.000000000 +0100
+++ new/clang-extract-0~20260224.7ad9595/testsuite/small/tls-1.c        
2026-02-24 17:12:41.000000000 +0100
@@ -0,0 +1,11 @@
+/* { dg-options "-DCE_EXTRACT_FUNCTIONS=set_errno 
-DCE_EXPORT_SYMBOLS=__libc_errno" }*/
+
+extern __thread int __libc_errno __attribute__ ((tls_model ("initial-exec")));
+
+void set_errno(int err)
+{
+  __libc_errno = err;
+}
+
+/* { dg-final { scan-tree-dump "__attribute__\(\(used\)\) static __thread int 
\*klpe___libc_errno;|static __thread int \*klpe___libc_errno 
__attribute__\(\(used\)\);" } } */
+/* { dg-final { scan-tree-dump "\(\*klpe___libc_errno\) = err" } } */

Reply via email to