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-05-30 23:00:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/clang-extract (Old) and /work/SRC/openSUSE:Factory/.clang-extract.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "clang-extract" Sat May 30 23:00:26 2026 rev:21 rq:1356055 version:0~20260529.63e5c9b Changes: -------- --- /work/SRC/openSUSE:Factory/clang-extract/clang-extract.changes 2026-02-25 21:24:02.415432011 +0100 +++ /work/SRC/openSUSE:Factory/.clang-extract.new.1937/clang-extract.changes 2026-05-30 23:02:45.603672467 +0200 @@ -1,0 +2,6 @@ +Sat May 30 16:35:45 UTC 2026 - [email protected] + +- Update to version 0~20260529.63e5c9b: + * Add support for LLVM-22 + +------------------------------------------------------------------- Old: ---- clang-extract-0~20260224.ac30d66.tar.xz New: ---- clang-extract-0~20260529.63e5c9b.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ clang-extract.spec ++++++ --- /var/tmp/diff_new_pack.HsqQG2/_old 2026-05-30 23:02:46.463707821 +0200 +++ /var/tmp/diff_new_pack.HsqQG2/_new 2026-05-30 23:02:46.467707986 +0200 @@ -17,7 +17,7 @@ Name: clang-extract -Version: 0~20260224.ac30d66 +Version: 0~20260529.63e5c9b 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.HsqQG2/_old 2026-05-30 23:02:46.507709630 +0200 +++ /var/tmp/diff_new_pack.HsqQG2/_new 2026-05-30 23:02:46.511709795 +0200 @@ -2,10 +2,10 @@ <service name="tar_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/SUSE/clang-extract</param> - <param name="revision">ac30d6643f341bce4732d6cdd783d24f7e04f322</param> + <param name="revision">63e5c9b734deaabe139200ba8cd8fb63ca3ac8a3</param> <param name="versionformat">0~%cd.%h</param> <param name="changesgenerate">enable</param> - <param name="changesauthor">[email protected]</param> + <param name="changesauthor">[email protected]</param> </service> <service name="recompress" mode="manual"> <param name="file">*.tar</param> ++++++ clang-extract-0~20260224.ac30d66.tar.xz -> clang-extract-0~20260529.63e5c9b.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/.github/workflows/testsuite.yml new/clang-extract-0~20260529.63e5c9b/.github/workflows/testsuite.yml --- old/clang-extract-0~20260224.ac30d66/.github/workflows/testsuite.yml 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/.github/workflows/testsuite.yml 2026-05-30 01:36:48.000000000 +0200 @@ -15,7 +15,7 @@ opensuse: [tumbleweed] compiler: [clang] build-type: [debug, release] - version: [18, 19, 20, 21] + version: [18, 19, 20, 21, 22] container: image: opensuse/${{ matrix.opensuse }} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/libcextract/ClangCompat.hh new/clang-extract-0~20260529.63e5c9b/libcextract/ClangCompat.hh --- old/clang-extract-0~20260224.ac30d66/libcextract/ClangCompat.hh 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/libcextract/ClangCompat.hh 2026-05-30 01:36:48.000000000 +0200 @@ -18,6 +18,10 @@ #include <clang/Basic/Version.h> #include "clang/Frontend/CompilerInstance.h" +#if CLANG_VERSION_MAJOR >= 22 +#include <clang/Driver/CreateInvocationFromArgs.h> +#endif + /* Starting from LLVM-18, the method FileEntry::getName() got deprecated. * This makes clang warns about the function being deprecated while it is * completely useful as a way to keep compatibility with older versions of diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/libcextract/Closure.cpp new/clang-extract-0~20260529.63e5c9b/libcextract/Closure.cpp --- old/clang-extract-0~20260224.ac30d66/libcextract/Closure.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/libcextract/Closure.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -61,7 +61,7 @@ continue; } - const std::string &decl_name = decl->getName().str(); + const std::string &decl_name = decl->getNameAsString(); /* If the symbol name is in the set... */ if (setof_names.find(decl_name) != setof_names.end()) { /* Mark that name as matched. */ @@ -375,10 +375,6 @@ bool DeclClosureVisitor::VisitDeclRefExpr(DeclRefExpr *expr) { TRY_TO(TraverseDecl(expr->getDecl())); - /* For C++ we also need to analyze the name specifier. */ - if (NestedNameSpecifier *nns = expr->getQualifier()) { - TRY_TO(TraverseNestedNameSpecifier(nns)); - } /* Analyze the decl it references to. */ return TraverseDecl(expr->getDecl()); @@ -474,28 +470,6 @@ /* ----------- Other C++ stuff ----------- */ -bool DeclClosureVisitor::TraverseNestedNameSpecifier(NestedNameSpecifier *nns) -{ - switch (nns->getKind()) { - case NestedNameSpecifier::Namespace: - /* Do not traverse to avoid adding unecessary childs. */ - TRY_TO(VisitNamespaceDecl(nns->getAsNamespace())); - break; - case NestedNameSpecifier::NamespaceAlias: - TRY_TO(TraverseDecl(nns->getAsNamespaceAlias())); - break; - - case NestedNameSpecifier::Super: - /* Something regarding MSVC, but lets put this here. */ - TRY_TO(TraverseDecl(nns->getAsRecordDecl())); - break; - - default: - break; - } - return RecursiveASTVisitor::TraverseNestedNameSpecifier(nns); -} - bool DeclClosureVisitor::TraverseCXXBaseSpecifier(const CXXBaseSpecifier base) { TRY_TO(TraverseType(base.getType())); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/libcextract/Closure.hh new/clang-extract-0~20260529.63e5c9b/libcextract/Closure.hh --- old/clang-extract-0~20260224.ac30d66/libcextract/Closure.hh 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/libcextract/Closure.hh 2026-05-30 01:36:48.000000000 +0200 @@ -237,8 +237,6 @@ const DeducedTemplateSpecializationType *type); /* ----------- Other C++ stuff ----------- */ - bool TraverseNestedNameSpecifier(NestedNameSpecifier *nns); - bool TraverseCXXBaseSpecifier(const CXXBaseSpecifier base); /* ------ Helper Functions ------ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/libcextract/FunctionDepsFinder.cpp new/clang-extract-0~20260529.63e5c9b/libcextract/FunctionDepsFinder.cpp --- old/clang-extract-0~20260224.ac30d66/libcextract/FunctionDepsFinder.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/libcextract/FunctionDepsFinder.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -95,7 +95,7 @@ if (TypedefDecl *decl = dyn_cast<TypedefDecl>(*it)) { SourceRange range = decl->getSourceRange(); - const clang::Type *type = decl->getTypeForDecl(); + const clang::Type *type = (static_cast<TypeDecl *>(decl))->getTypeForDecl(); if (type) { /* We must be careful with pointers, the user can define things like: * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/libcextract/Passes.cpp new/clang-extract-0~20260529.63e5c9b/libcextract/Passes.cpp --- old/clang-extract-0~20260224.ac30d66/libcextract/Passes.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/libcextract/Passes.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -554,7 +554,7 @@ /* Parse the temporary code to apply the changes by the externalizer and set its new SourceManager to the PrettyPrint class. */ ctx->AST->Reparse(std::make_shared<PCHContainerOperations>(), - ClangCompat_None, ctx->OFS); + {}, ctx->OFS); PrettyPrint::Set_AST(ctx->AST.get()); const DiagnosticsEngine &de = ctx->AST->getDiagnostics(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-10.cpp new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-10.cpp --- old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-10.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-10.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -1,4 +1,8 @@ /* { dg-options "-DCE_EXTRACT_FUNCTIONS=f -DCE_NO_EXTERNALIZATION" }*/ +/* { dg-xfail } */ + +/* Test fails since LLVM-22 support. C++ support were not working at this + stage, so its a regression. */ namespace A { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-2.cpp new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-2.cpp --- old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-2.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-2.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -1,4 +1,8 @@ /* { dg-options "-DCE_EXTRACT_FUNCTIONS=f -DCE_NO_EXTERNALIZATION" }*/ +/* { dg-xfail } */ + +/* Test fails since LLVM-22 support. C++ support were not working at this + stage, so its a regression. */ int printf(const char *, ...); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-3.cpp new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-3.cpp --- old/clang-extract-0~20260224.ac30d66/testsuite/small/c++-3.cpp 2026-02-24 23:19:04.000000000 +0100 +++ new/clang-extract-0~20260529.63e5c9b/testsuite/small/c++-3.cpp 2026-05-30 01:36:48.000000000 +0200 @@ -1,4 +1,8 @@ /* { dg-options "-DCE_EXTRACT_FUNCTIONS=f -DCE_NO_EXTERNALIZATION" }*/ +/* { dg-xfail } */ + +/* Test fails since LLVM-22 support. C++ support were not working at this + stage, so its a regression. */ /* Unused function should be removed. */
