diff --git a/.github/workflows/MacOS.yml b/.github/workflows/MacOS.yml index a0eb8ae6..28c546e1 100644 --- a/.github/workflows/MacOS.yml +++ b/.github/workflows/MacOS.yml @@ -22,6 +22,13 @@ jobs: fail-fast: false matrix: include: + - name: osx26-arm-clang-clang-repl-20 + os: macos-26 + compiler: clang + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host" - name: osx26-arm-clang-clang-repl-19 os: macos-26 compiler: clang @@ -44,6 +51,13 @@ jobs: cling-version: '1.2' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: osx15-x86-clang-clang-repl-20 + os: macos-15-intel + compiler: clang + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host" - name: osx15-x86-clang-clang-repl-19 os: macos-15-intel compiler: clang @@ -251,6 +265,12 @@ jobs: fail-fast: false matrix: include: + - name: osx26-arm-clang-clang-repl-20-cppyy + os: macos-26 + compiler: clang + clang-runtime: '20' + cling: Off + cppyy: On - name: osx26-arm-clang-clang-repl-19-cppyy os: macos-26 compiler: clang @@ -270,6 +290,12 @@ jobs: cling: On cling-version: '1.2' cppyy: On + - name: osx15-x86-clang-clang-repl-20-cppyy + os: macos-15-intel + compiler: clang + clang-runtime: '20' + cling: Off + cppyy: On - name: osx15-x86-clang-clang-repl-19-cppyy os: macos-15-intel compiler: clang diff --git a/.github/workflows/Ubuntu.yml b/.github/workflows/Ubuntu.yml index e8fd8c96..5b93ed3f 100644 --- a/.github/workflows/Ubuntu.yml +++ b/.github/workflows/Ubuntu.yml @@ -22,6 +22,13 @@ jobs: fail-fast: false matrix: include: + - name: ubu22-x86-gcc12-clang-repl-20 + os: ubuntu-22.04 + compiler: gcc-12 + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" - name: ubu22-x86-gcc12-clang-repl-19 os: ubuntu-22.04 compiler: gcc-12 @@ -44,6 +51,13 @@ jobs: cling-version: '1.2' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: ubu24-x86-gcc12-clang-repl-20 + os: ubuntu-24.04 + compiler: gcc-12 + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" - name: ubu24-x86-gcc12-clang-repl-19 os: ubuntu-24.04 compiler: gcc-12 @@ -66,6 +80,13 @@ jobs: cling-version: '1.2' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: ubu22-arm-gcc12-clang-repl-20 + os: ubuntu-22.04-arm + compiler: gcc-12 + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" - name: ubu22-arm-gcc12-clang-repl-19 os: ubuntu-22.04-arm compiler: gcc-12 @@ -88,6 +109,13 @@ jobs: cling-version: '1.2' llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" + - name: ubu24-arm-gcc12-clang-repl-20 + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '20' + cling: Off + llvm_enable_projects: "clang" + llvm_targets_to_build: "host;NVPTX" - name: ubu24-arm-gcc12-clang-repl-19 os: ubuntu-24.04-arm compiler: gcc-12 @@ -289,6 +317,12 @@ jobs: fail-fast: false matrix: include: + - name: ubu22-x86-gcc12-clang-repl-20-cppyy + os: ubuntu-22.04 + compiler: gcc-12 + clang-runtime: '20' + cling: Off + cppyy: On - name: ubu22-x86-gcc12-clang-repl-19-cppyy os: ubuntu-22.04 compiler: gcc-12 @@ -308,6 +342,12 @@ jobs: cling: On cling-version: '1.2' cppyy: On + - name: ubu24-x86-gcc12-clang-repl-20-cppyy + os: ubuntu-24.04 + compiler: gcc-12 + clang-runtime: '20' + cling: Off + cppyy: On - name: ubu24-x86-gcc12-clang-repl-19-cppyy os: ubuntu-24.04 compiler: gcc-12 @@ -327,6 +367,12 @@ jobs: cling: On cling-version: '1.2' cppyy: On + - name: ubu22-arm-gcc12-clang-repl-20-cppyy + os: ubuntu-22.04-arm + compiler: gcc-12 + clang-runtime: '20' + cling: Off + cppyy: On - name: ubu22-arm-gcc12-clang-repl-19-cppyy os: ubuntu-22.04-arm compiler: gcc-12 @@ -346,6 +392,12 @@ jobs: cling: On cling-version: '1.2' cppyy: On + - name: ubu24-arm-gcc12-clang-repl-20-cppyy + os: ubuntu-24.04-arm + compiler: gcc-12 + clang-runtime: '20' + cling: Off + cppyy: On - name: ubu24-arm-gcc12-clang-repl-19-cppyy os: ubuntu-24.04-arm compiler: gcc-12 diff --git a/etc/clang20-valgrind.supp b/etc/clang20-valgrind.supp new file mode 100644 index 00000000..4c1256ab --- /dev/null +++ b/etc/clang20-valgrind.supp @@ -0,0 +1,102 @@ +{ + LLVM 20 suppressions : CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition + Memcheck:Cond + fun:_ZN5clang7CodeGen13CodeGenModule38SetLLVMFunctionAttributesForDefinitionEPKNS_4DeclEPN4llvm8FunctionE + fun:_ZN5clang7CodeGen13CodeGenModule28EmitGlobalFunctionDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule7ReleaseEv + fun:_ZN12_GLOBAL__N_117CodeGeneratorImpl21HandleTranslationUnitERN5clang10ASTContextE + fun:_ZN5clang15BackendConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17MultiplexConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17IncrementalParser23ParseOrWrapTopLevelDeclEv + fun:_ZN5clang17IncrementalParser5ParseEN4llvm9StringRefE +} + +{ + LLVM 20 suppressions : APInt::setBits + Memcheck:Cond + fun:_ZN4llvm5APInt7setBitsEjj + fun:_ZL16computeKnownBitsPKN4llvm5ValueERKNS_5APIntERNS_9KnownBitsEjRKNS_13SimplifyQueryE + fun:_ZN4llvm16computeKnownBitsEPKNS_5ValueERNS_9KnownBitsEjRKNS_13SimplifyQueryE + fun:_ZN4llvm16computeKnownBitsEPKNS_5ValueERNS_9KnownBitsERKNS_10DataLayoutEjPNS_15AssumptionCacheEPKNS_11InstructionEPKNS_13DominatorTreeEb + fun:_ZNK4llvm12SelectionDAG13InferPtrAlignENS_7SDValueE + fun:_ZN12_GLOBAL__N_111DAGCombiner9visitLOADEPN4llvm6SDNodeE + fun:_ZN12_GLOBAL__N_111DAGCombiner7combineEPN4llvm6SDNodeE + fun:_ZN12_GLOBAL__N_111DAGCombiner3RunEN4llvm12CombineLevelE + fun:_ZN4llvm12SelectionDAG7CombineENS_12CombineLevelEPNS_14BatchAAResultsENS_15CodeGenOptLevelE + fun:_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv + fun:_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE + fun:_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE +} + +{ + LLVM 20 suppressions : JitCall::Invoke + Memcheck:Free + fun:free + obj:* + fun:_ZNK3Cpp7JitCall6InvokeEPvNS0_7ArgListES1_ + fun:_ZL11WrapperCallPvmS_S_S_ + fun:_ZN5Cppyy5CallVEPvS0_mS0_ + fun:_ZL8GILCallVPvS_PN8CPyCppyy11CallContextE + fun:_ZN8CPyCppyy12_GLOBAL__N_112VoidExecutor7ExecuteEPvS2_PNS_11CallContextE + fun:_ZN8CPyCppyy9CPPMethod11ExecuteFastEPvlPNS_11CallContextE + fun:_ZN8CPyCppyy9CPPMethod7ExecuteEPvlPNS_11CallContextE + fun:_ZN8CPyCppyy11CPPFunction4CallERPNS_11CPPInstanceEPKP7_objectmS5_PNS_11CallContextE + fun:_ZN8CPyCppyy12_GLOBAL__N_1L13mp_vectorcallEPNS_11CPPOverloadEPKP7_objectmS4_ + fun:_PyObject_VectorcallTstate + fun:PyObject_Vectorcall +} + +{ + LLVM 20 suppressions : CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition 2 + Memcheck:Cond + fun:_ZN5clang7CodeGen13CodeGenModule38SetLLVMFunctionAttributesForDefinitionEPKNS_4DeclEPN4llvm8FunctionE + fun:_ZN5clang7CodeGen13CodeGenModule18codegenCXXStructorENS_10GlobalDeclE + fun:_ZN12_GLOBAL__N_113ItaniumCXXABI15emitCXXStructorEN5clang10GlobalDeclE + fun:_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule7ReleaseEv + fun:_ZN12_GLOBAL__N_117CodeGeneratorImpl21HandleTranslationUnitERN5clang10ASTContextE + fun:_ZN5clang15BackendConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17MultiplexConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17IncrementalParser23ParseOrWrapTopLevelDeclEv + fun:_ZN5clang17IncrementalParser5ParseEN4llvm9StringRefE +} + +{ + LLVM 20 suppressions : CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition 3 + Memcheck:Cond + fun:_ZN5clang7CodeGen13CodeGenModule38SetLLVMFunctionAttributesForDefinitionEPKNS_4DeclEPN4llvm8FunctionE + fun:_ZN5clang7CodeGen14CodeGenVTables14maybeEmitThunkENS_10GlobalDeclERKNS_9ThunkInfoEb + fun:_ZN5clang7CodeGen14CodeGenVTables10EmitThunksENS_10GlobalDeclE + fun:_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule12EmitDeferredEv + fun:_ZN5clang7CodeGen13CodeGenModule7ReleaseEv + fun:_ZN12_GLOBAL__N_117CodeGeneratorImpl21HandleTranslationUnitERN5clang10ASTContextE + fun:_ZN5clang15BackendConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17MultiplexConsumer21HandleTranslationUnitERNS_10ASTContextE + fun:_ZN5clang17IncrementalParser23ParseOrWrapTopLevelDeclEv + fun:_ZN5clang17IncrementalParser5ParseEN4llvm9StringRefE +} + +{ + LLVM 20 suppressions : CodeGen::CodeGenModule::SetLLVMFunctionAttributesForDefinition 4 + Memcheck:Cond + fun:_ZN5clang7CodeGen13CodeGenModule38SetLLVMFunctionAttributesForDefinitionEPKNS_4DeclEPN4llvm8FunctionE + fun:_ZN5clang7CodeGen13CodeGenModule28EmitGlobalFunctionDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule20EmitGlobalDefinitionENS_10GlobalDeclEPN4llvm11GlobalValueE + fun:_ZN5clang7CodeGen13CodeGenModule10EmitGlobalENS_10GlobalDeclE + fun:_ZN5clang7CodeGen13CodeGenModule16EmitTopLevelDeclEPNS_4DeclE.part.0 + fun:_ZN12_GLOBAL__N_117CodeGeneratorImpl18HandleTopLevelDeclEN5clang12DeclGroupRefE + fun:_ZN5clang15BackendConsumer18HandleTopLevelDeclENS_12DeclGroupRefE + fun:_ZN5clang17MultiplexConsumer18HandleTopLevelDeclENS_12DeclGroupRefE + fun:_ZN5clang28InProcessPrintingASTConsumer18HandleTopLevelDeclENS_12DeclGroupRefE + fun:_ZN5clang17IncrementalParser23ParseOrWrapTopLevelDeclEv + fun:_ZN5clang17IncrementalParser5ParseEN4llvm9StringRefE + fun:_ZN5clang11Interpreter5ParseEN4llvm9StringRefE +} diff --git a/etc/clang20-valgrind_arm.supp b/etc/clang20-valgrind_arm.supp new file mode 100644 index 00000000..96e114ff --- /dev/null +++ b/etc/clang20-valgrind_arm.supp @@ -0,0 +1,7 @@ +{ + Mismatched free() + Memcheck:Free + fun:free + obj:* +} + diff --git a/test/test_datatypes.py b/test/test_datatypes.py index 10ede101..3e73296f 100644 --- a/test/test_datatypes.py +++ b/test/test_datatypes.py @@ -1409,7 +1409,7 @@ def pyd(arg0, arg1): gc.collect() raises(TypeError, c, 3, 3) # lambda gone out of scope - @mark.xfail(run=False, condition=IS_MAC_ARM, reason="Crashes with exception not being caught on Apple Silicon") + @mark.xfail(run=False, condition=IS_MAC, reason="Crashes on MacOS") def test28_callable_through_function_passing(self): """Passing callables through std::function"""