summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2023-04-10 01:08:19 +0200
committerStanislaw Halik <sthalik@misaki.pl>2023-04-10 01:08:19 +0200
commite4e7a2a17f03c2c5369086ccba4d33ac3461ca83 (patch)
tree3d0cb52462cb31062c888e11ec46b44343902307
parente87dfaf52d3f4e43fb1f6fea57fceaba71568487 (diff)
ci: try to enable -fsanitize=memory
-rw-r--r--.github/workflows/cmake.yml13
-rw-r--r--userconfig-runner@Linux-Clang.cmake54
-rw-r--r--userconfig-runner@Linux-GNU.cmake4
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)