4. The gap_packages spkg does not build.  The build fails on the semigroup 
package.  The failure is caused by C++ errors which presumably have been 
upgraded from warnings to errors in clang 17.0.0.  Some of these have been 
fixed upstream, but some have not.  The patch is non-trivial, so I wish I 
could upload it as a file.  But I don't seem to have that option.

diff -rc 
gap-4.14.0/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp 
src/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp
*** gap-4.14.0/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp Sat 
Oct 19 06:11:26 2024
--- src/pkg/semigroups/gapbind14/include/gapbind14/gapbind14.hpp Wed Jul 16 
17:24:09 2025
***************
*** 70,77 ****
  // Typdefs for GAP
  ////////////////////////////////////////////////////////////////////////
  
- typedef Obj (*GVarFunc)(/*arguments*/);
- 
  namespace gapbind14 {
  
    // Forward decl
--- 70,75 ----
***************
*** 288,298 ****
        static_assert(sizeof...(Args) > 0,
                      "there must be at least 1 parameter: Obj self");
        static_assert(sizeof...(Args) <= 7, "Args must be at most 7");
!       _funcs.push_back({detail::copy_c_str(nm),
!                         sizeof...(Args) - 1,
!                         detail::params_c_str(sizeof...(Args) - 1),
!                         (GVarFunc) func,
!                         detail::copy_c_str(fnm + ":Func" + nm)});
      }
  
      template <typename... Args>
--- 286,297 ----
        static_assert(sizeof...(Args) > 0,
                      "there must be at least 1 parameter: Obj self");
        static_assert(sizeof...(Args) <= 7, "Args must be at most 7");
!       
!       _funcs.push_back(StructGVarFunc{detail::copy_c_str(nm),
!               sizeof...(Args) - 1,
!               detail::params_c_str(sizeof...(Args) - 1),
!               (ObjFunc) func,
!               detail::copy_c_str(fnm + ":Func" + nm)});
      }
  
      template <typename... Args>
***************
*** 302,312 ****
                        Obj (*func)(Args...)) {
        static_assert(sizeof...(Args) <= 7, "Args must be at most 7");
        _mem_funcs.at(subtype(sbtyp))
!           .push_back({detail::copy_c_str(nm),
!                       sizeof...(Args) - 1,
!                       detail::params_c_str(sizeof...(Args) - 1),
!                       (GVarFunc) func,
!                       detail::copy_c_str(flnm + ":Func" + sbtyp + "::" + 
nm)});
      }
  
      void finalize();
--- 301,311 ----
                        Obj (*func)(Args...)) {
        static_assert(sizeof...(Args) <= 7, "Args must be at most 7");
        _mem_funcs.at(subtype(sbtyp))
!           .push_back(StructGVarFunc{detail::copy_c_str(nm),
!                   sizeof...(Args) - 1,
!                   detail::params_c_str(sizeof...(Args) - 1),
!                   (ObjFunc) func,
!                   detail::copy_c_str(flnm + ":Func" + sbtyp + "::" + 
nm)});
      }
  
      void finalize();
diff -rc gap-4.14.0/pkg/semigroups/gapbind14/src/gapbind14.cpp 
src/pkg/semigroups/gapbind14/src/gapbind14.cpp
*** gap-4.14.0/pkg/semigroups/gapbind14/src/gapbind14.cpp Sat Oct 19 
06:11:26 2024
--- src/pkg/semigroups/gapbind14/src/gapbind14.cpp Wed Jul 16 17:30:54 2025
***************
*** 25,32 ****
  
  #include "gapbind14/gap_include.hpp"  // for Obj etc
  
! #define GVAR_ENTRY(srcfile, name, nparam, params) \
!   {#name, nparam, params, (GVarFunc) name, srcfile ":Func" #name}
  
  namespace gapbind14 {
    UInt T_GAPBIND14_OBJ = 0;
--- 25,34 ----
  
  #include "gapbind14/gap_include.hpp"  // for Obj etc
  
! #define GVAR_ENTRY(srcfile, name, nparam, params)                \
!   {                                                              \
! #name, nparam, params, (ObjFunc) name, srcfile ":Func" #name     \
!   }
  
  namespace gapbind14 {
    UInt T_GAPBIND14_OBJ = 0;
diff -rc gap-4.14.0/pkg/semigroups/src/pkg.cpp 
src/pkg/semigroups/src/pkg.cpp
*** gap-4.14.0/pkg/semigroups/src/pkg.cpp Sat Oct 19 06:11:26 2024
--- src/pkg/semigroups/src/pkg.cpp Wed Jul 16 17:30:45 2025
***************
*** 426,436 ****
  
  
/*****************************************************************************/
  
- typedef Obj (*GVarFunc)(/*arguments*/);
- 
  #define GVAR_ENTRY(srcfile, name, nparam, params)                 \
    {                                                               \
! #name, nparam, params, (GVarFunc) name, srcfile ":Func" #name \
    }
  
  // Table of functions to export
--- 426,434 ----
  
  
/*****************************************************************************/
  
  #define GVAR_ENTRY(srcfile, name, nparam, params)                 \
    {                                                               \
! #name, nparam, params, (ObjFunc) name, srcfile ":Func" #name      \
    }
  
  // Table of functions to export

-- 
You received this message because you are subscribed to the Google Groups 
"sage-release" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sage-release/368280ae-36bc-4da5-877c-fa2a87ef0b88n%40googlegroups.com.

Reply via email to