diff --git a/.github/workflows/emscripten.yml b/.github/workflows/emscripten.yml index ae7e3ab4e..678119497 100644 --- a/.github/workflows/emscripten.yml +++ b/.github/workflows/emscripten.yml @@ -21,9 +21,9 @@ jobs: fail-fast: false matrix: include: - - name: ubu22-x86-gcc12-clang-repl-19-emscripten - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-19-emscripten + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '19' cling: Off cppyy: On @@ -441,9 +441,9 @@ jobs: fail-fast: false matrix: include: - - name: ubu22-x86-gcc12-clang-repl-19-emscripten_wasm - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-19-emscripten_wasm + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '19' cling: Off micromamba_shell_init: bash diff --git a/.github/workflows/non-emscripten.yml b/.github/workflows/non-emscripten.yml index cfa61212b..e716e7c74 100644 --- a/.github/workflows/non-emscripten.yml +++ b/.github/workflows/non-emscripten.yml @@ -22,41 +22,41 @@ jobs: fail-fast: false matrix: include: - - name: ubu22-x86-gcc12-clang-repl-19 - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-19 + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '19' cling: Off cppyy: On llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" - - name: ubu22-x86-gcc12-clang-repl-18 - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-18 + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '18' cling: Off cppyy: On llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" - - name: ubu22-x86-gcc12-clang-repl-17 - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-17 + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '17' cling: Off cppyy: On llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" - - name: ubu22-x86-gcc12-clang-repl-16 - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-16 + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '16' cling: Off cppyy: On llvm_enable_projects: "clang" llvm_targets_to_build: "host;NVPTX" - - name: ubu22-x86-gcc9-clang13-cling - os: ubuntu-22.04 - compiler: gcc-9 + - name: ubu24-x86-gcc13-clang13-cling + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '13' cling: On cling-version: '1.0' @@ -263,6 +263,7 @@ jobs: if: ${{ runner.os == 'Linux' && steps.cache.outputs.cache-hit != 'true' }} run: | # Install deps + sudo apt remove needrestart sudo apt-get update sudo apt-get install valgrind sudo apt-get autoremove @@ -378,41 +379,41 @@ jobs: fail-fast: false matrix: include: - - name: ubu22-x86-gcc12-clang-repl-19-docs - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-19-docs + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '19' cling: Off cppyy: Off documentation: On - - name: ubu22-x86-gcc12-clang-repl-19-cppyy - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-19-cppyy + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '19' cling: Off cppyy: On coverage: true - - name: ubu22-x86-gcc12-clang-repl-18-cppyy - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-18-cppyy + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '18' cling: Off cppyy: On - - name: ubu22-x86-gcc12-clang-repl-17-cppyy - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-17-cppyy + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '17' cling: Off cppyy: On - - name: ubu22-x86-gcc12-clang-repl-16 - os: ubuntu-22.04 - compiler: gcc-12 + - name: ubu24-x86-gcc13-clang-repl-16 + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '16' cling: Off cppyy: Off - - name: ubu22-x86-gcc9-clang13-cling-cppyy - os: ubuntu-22.04 - compiler: gcc-9 + - name: ubu24-x86-gcc13-clang13-cling-cppyy + os: ubuntu-24.04 + compiler: gcc-13 clang-runtime: '13' cling: On cling-version: '1.0' @@ -587,6 +588,7 @@ jobs: run: | # Install deps sudo apt-get update + sudo apt remove needrestart sudo apt-get install git g++ debhelper devscripts gnupg python3 doxygen graphviz python3-sphinx sudo apt-get install -y libc6-dbg sudo snap install valgrind --classic @@ -704,7 +706,7 @@ jobs: # Create lcov report # capture coverage info vers="${CC#*-}" - lcov --directory build/ --capture --output-file coverage.info --gcov-tool /usr/bin/gcov-${vers} + lcov --directory build/ --capture --output-file coverage.info --gcov-tool /usr/bin/gcov-${vers} --rc geninfo_unexecuted_blocks=1 --ignore-errors mismatch,mismatch lcov --remove coverage.info '/usr/*' "${HOME}"'/.cache/*' ${{ github.workspace }}'/llvm-project/*' ${{ github.workspace }}'/unittests/*' --output-file coverage.info # output coverage data for debugging (optional) lcov --list coverage.info @@ -743,6 +745,9 @@ jobs: run: | python3 -m venv .venv source .venv/bin/activate + python -m pip install --upgrade pip + pip install setuptools + pip install wheel # Install CPyCppyy git clone --depth=1 https://github.com/compiler-research/CPyCppyy.git mkdir CPyCppyy/build @@ -762,7 +767,7 @@ jobs: # Install cppyy git clone --depth=1 https://github.com/compiler-research/cppyy.git cd cppyy - python -m pip install --upgrade . --no-deps + python -m pip install --upgrade . --no-deps --no-build-isolation cd .. - name: Run cppyy on Unix Systems if: ${{ matrix.cppyy == 'On' }} @@ -781,7 +786,6 @@ jobs: cd cppyy/test echo ::group::Prepare For Testing make all - python -m pip install --upgrade pip python -m pip install pytest python -m pip install pytest-xdist python -m pip install numba diff --git a/CMakeLists.txt b/CMakeLists.txt index 883885d0e..8efcef1ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -363,11 +363,11 @@ endif() # Add appropriate flags for GCC if (LLVM_COMPILER_IS_GCC_COMPATIBLE) - if (APPLE) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings") - else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings") - endif () +if (APPLE) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings") +else() + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings") +endif () endif () # Fixes "C++ exception handler used, but unwind semantics are not enabled" warning Windows