diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-04-10 01:08:19 +0200 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-04-10 01:08:19 +0200 |
commit | e4e7a2a17f03c2c5369086ccba4d33ac3461ca83 (patch) | |
tree | 3d0cb52462cb31062c888e11ec46b44343902307 | |
parent | e87dfaf52d3f4e43fb1f6fea57fceaba71568487 (diff) |
ci: try to enable -fsanitize=memory
-rw-r--r-- | .github/workflows/cmake.yml | 13 | ||||
-rw-r--r-- | userconfig-runner@Linux-Clang.cmake | 54 | ||||
-rw-r--r-- | userconfig-runner@Linux-GNU.cmake | 4 |
3 files changed, 64 insertions, 7 deletions
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 97d44da5..87e0d82c 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -21,7 +21,7 @@ jobs: os: [ubuntu-22.04] include: - os: ubuntu-22.04 - cmake: /usr/bin/env CC=gcc-12 CXX=g++-12 cmake + cmake: /usr/bin/env CC=clang-16 CXX=clang++-16 cmake #- os: macos-12 # cmake: /usr/bin/env CC="$(brew --prefix llvm@15)/bin/clang" CXX="$(brew --prefix llvm@15)/bin/clang++" cmake #- os: windows-latest @@ -39,10 +39,13 @@ jobs: - name: Install Linux dependencies run: | + wget -q https://apt.llvm.org/llvm.sh + chmod +x llvm.sh + sudo ./llvm.sh 16 sudo apt -q=2 update - sudo apt install g++-12 gdb ninja-build - sudo apt -q install libgl1-mesa-dri libgl-dev libglx-dev xorg-dev xvfb libopencv-dev - sudo apt -q install libsdl2-dev + sudo apt install gdb ninja-build + sudo apt -q install libgl1-mesa-dri libgl-dev libglx-dev xorg-dev xvfb libsdl2-dev + # sudo apt -q install libopencv-dev if: matrix.os == 'ubuntu-22.04' - name: Install OSX dependencies @@ -51,7 +54,7 @@ jobs: if: matrix.os == 'macos-12' - name: Configure - run: ${{matrix.cmake}} -G "Ninja" -S ${{github.workspace}}/ -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DFLOORMAT_PRECOMPILED-HEADERS:BOOL=OFF + run: ${{matrix.cmake}} -G "Ninja" -S ${{github.workspace}}/ -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build run: ${{matrix.cmake}} --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --target install diff --git a/userconfig-runner@Linux-Clang.cmake b/userconfig-runner@Linux-Clang.cmake new file mode 100644 index 00000000..f2127b70 --- /dev/null +++ b/userconfig-runner@Linux-Clang.cmake @@ -0,0 +1,54 @@ +sets(BOOL FLOORMAT_PRECOMPILED-HEADERS OFF) +sets(BOOL FLOORMAT_SUBMODULE-SDL2 OFF) +set(CMAKE_INSTALL_MESSAGE NEVER) +sets(STRING + CMAKE_BUILD_TYPE RELEASE + CMAKE_C_FLAGS_RELEASE "-O0 -g -ggdb -DNDEBUG" + CMAKE_CXX_FLAGS_RELEASE "-O0 -g -ggdb -DNDEBUG") + +add_compile_options(-fsanitize=address,undefined,memory) +add_link_options(-fsanitize=address,undefined,memory) +sets(BOOL CORRADE_CPU_USE_IFUNC OFF) +function(fm-userconfig-src) + add_compile_options( + -Wall -Wextra -Wpedantic -Wno-old-style-cast -Wno-padded + ) + add_compile_options( + -Wno-c++98-compat + -Wno-c++20-compat + -Wno-c++98-compat-pedantic + -Wno-logical-op-parentheses + -Wno-undefined-func-template + -Wno-switch-enum + -Wno-covered-switch-default + -Wno-old-style-cast + -Wno-global-constructors + -Wno-exit-time-destructors + -Wno-implicit-int-float-conversion + -Wno-shadow-field-in-constructor + -Wno-shadow-field + -Wno-shadow + -Wno-ctad-maybe-unsupported + -Wno-documentation-unknown-command + -Wno-documentation + -Wno-ignored-attributes + -Wno-reserved-identifier + -Wno-zero-length-array + -Wno-unsafe-buffer-usage + ) + add_compile_options( + -Werror + -Wno-error=float-equal + #-Wno-error=comma + -Wno-error=unused-parameter + -Wno-error=unused-private-field + -Wno-error=unused-variable + -Wno-error=unused-function + -Wno-error=unused-member-function + -Wno-error=unused-macros + -Wno-error=alloca + -Wno-error=double-promotion + -Wno-error=ambiguous-reversed-operator + -Wno-error=comma + ) +endfunction() diff --git a/userconfig-runner@Linux-GNU.cmake b/userconfig-runner@Linux-GNU.cmake index 963027ba..7106cfee 100644 --- a/userconfig-runner@Linux-GNU.cmake +++ b/userconfig-runner@Linux-GNU.cmake @@ -3,8 +3,8 @@ sets(BOOL FLOORMAT_SUBMODULE-SDL2 OFF) set(CMAKE_INSTALL_MESSAGE NEVER) sets(STRING CMAKE_BUILD_TYPE RELEASE - CMAKE_C_FLAGS_RELEASE "-O0 -DNDEBUG -s" - CMAKE_CXX_FLAGS_RELEASE "-O0 -DNDEBUG -s") + CMAKE_C_FLAGS_RELEASE "-O0 -DNDEBUG" + CMAKE_CXX_FLAGS_RELEASE "-O0 -DNDEBUG") add_compile_options(-fsanitize=address,undefined) add_link_options(-fsanitize=address,undefined) |