diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 45bf5cb9a..2a0df206b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -229,11 +229,11 @@ clang++ mull: - apt-get -qq install --no-install-recommends -y --quiet mull-11 libclang-cpp11 - mkdir build && cd build - mull-runner-11 --version - - CXX=clang++-11 cmake .. -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -fexperimental-new-pass-manager -fpass-plugin=/usr/lib/mull-ir-frontend-11 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" + - CXX=clang++-11 cmake .. -DCMAKE_CXX_FLAGS="-O1 -fexperimental-new-pass-manager -fpass-plugin=/usr/lib/mull-ir-frontend-11 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" - cmake --build . --parallel 2 || cmake --build . --parallel 1 --verbose - ctest -j 2 --output-on-failure --verbose - cd test - - ls *.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-11 --ld-search-path=/usr/lib/x86_64-linux-gnu $0 -test-program=ctest -- -j2) || exit 255)' + - ls *.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-11 --ld-search-path=/usr/lib/x86_64-linux-gnu $0 -test-program=ctest -- -j2 --stop-on-failure) || exit 255)' needs: ["clang++"] # deb: diff --git a/mull.yml b/mull.yml index 193aba97c..be25dee91 100644 --- a/mull.yml +++ b/mull.yml @@ -2,5 +2,6 @@ mutators: - cxx_add_assign_to_sub_assign # Replaces += with -= - cxx_add_to_sub # Replaces + with - - cxx_mul_to_div # Replaces / with * + - cxx_lt_to_le # Replaces < with <= timeout: 10000 # in milliseconds quiet: true # enables additional logging diff --git a/pre-push b/pre-push index 22819b832..ee2d145ef 100755 --- a/pre-push +++ b/pre-push @@ -27,8 +27,8 @@ export CMAKE_GENERATOR=Ninja export CMAKE_CUDA_COMPILER_LAUNCHER="ccache" export CMAKE_CXX_COMPILER_LAUNCHER="ccache" -export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold" -export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold" +# export CMAKE_EXE_LINKER_FLAGS="-fuse-ld=mold" +# export CMAKE_SHARED_LINKER_FLAGS="-fuse-ld=mold" if [[ $(uname -m) != 'arm64' ]]; then @@ -46,7 +46,7 @@ export VALGRIND_EXE="valgrind --trace-children=yes --leak-check=full --track-ori (mkdir -p .build.culang && cd .build.culang && cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++ -DCMAKE_CUDA_HOST_COMPILER=clang++ -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build . && ctest --parallel --output-on-failure --rerun-failed) || exit 666 (mkdir -p .build.g++.plus && cd .build.g++.plus && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 -DBLA_VENDOR=OpenBLAS `#-DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--inline-suppr;--std=c++17;--checkers-report=cppcheck.report;--error-exitcode=1"` -DCMAKE_CXX_FLAGS="-D_GLIBCXX_DEBUG=1" -DCMAKE_CXX_FLAGS="-fimplicit-constexpr -fanalyzer -Wno-analyzer-null-dereference -Wno-analyzer-possible-null-dereference -Wno-analyzer-malloc-leak -Wno-analyzer-use-of-uninitialized-value -Wno-analyzer-use-after-free" && cmake --build . && ctest --parallel --output-on-failure -T memcheck) || exit 666 (mkdir -p .build.clang++.plus && cd .build.clang++.plus && CXX=clang++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DBLA_VENDOR=Generic -DCMAKE_CXX_CLANG_TIDY="clang-tidy" `#-DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="iwyu;-Xiwyu;--mapping_file=/home/correaa/boost-multi/.iwyu-test.imp;-Xiwyu;--no_fwd_decls"` && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest --parallel --output-on-failure) || exit 666 - (mkdir -p .build.clang++.mull && cd .build.clang++.mull && CXX=clang++-14 cmake .. -DCMAKE_CXX_FLAGS="-O3 -DNDEBUG -fpass-plugin=/usr/lib/mull-ir-frontend-14 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" -DCMAKE_TEST_LAUNCHER="mull-runner-14;--strict;--ld-search-path=/usr/lib/x86_64-linux-gnu" && cmake --build . && (ls test/*.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-14 $0 -test-program=ctest -- -j2 ) || exit 255)') ) || exit 666 + (mkdir -p .build.clang++.mull && cd .build.clang++.mull && CXX=clang++-14 cmake .. -DCMAKE_CXX_FLAGS="-O1 -fpass-plugin=/usr/lib/mull-ir-frontend-14 -g -grecord-command-line -fprofile-instr-generate -fcoverage-mapping" -DCMAKE_TEST_LAUNCHER="mull-runner-14;--strict;--ld-search-path=/usr/lib/x86_64-linux-gnu" && cmake --build . && (ls test/*.x | xargs -n 1 sh -c 'echo $0 && ((mull-runner-14 $0 -test-program=ctest -- -j2 --stop-on-failure) || exit 255)') ) || exit 666 #(mkdir -p .build.hip && cd .build.hip && CXX=clang++ cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_HIP_COMPILER=/opt/rocm/llvm/bin/clang++ -DCMAKE_CXX_FLAGS="-DMULTI_USE_HIP" -DCMAKE_HIP_FLAGS="-DMULTI_USE_HIP" -DENABLE_HIP=1 -DCMAKE_HIP_ARCHITECTURES=gfx90a && cmake --build . ) || exit 666 #(mkdir -p .build.g++-.cov && cd .build.g++-.cov && CXX=g++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="--coverage -lgcov -fno-inline -fno-inline-small-functions -fno-default-inline" -DCMAKE_EXE_LINKER_FLAGS="-lgcov --coverage" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=0" ctest -j 12 --output-on-failure -T Test `# && lcov --directory . --capture --output-file coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info && lcov --list coverage.info && genhtml coverage.info`) || exit 666 @@ -60,12 +60,9 @@ export VALGRIND_EXE="valgrind --trace-children=yes --leak-check=full --track-ori # sudo modprobe -r nvidia_uvm # sudo modprobe nvidia_uvm else -export CMAKE_GENERATOR=Ninja -# export CMAKE_CXX_COMPILER_LAUNCHER="ccache" - #(mkdir -p .build.g++-14 && cd .build.g++-14 && CXX=g++-14 cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666 (mkdir -p .build.c++.std23 && cd .build.c++.std23 && CXX=c++ CXXFLAGS="-fexperimental-library" cmake .. -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=23 && cmake --build . && ctest -j 12 --output-on-failure) || exit 666 - (mkdir -p .build.c++.asan && cd .build.c++.asan && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-D_LIBCPP_DEBUG=1 -fsanitize=undefined -fsanitize=pointer-overflow -fsanitize-trap=pointer-overflow -fsanitize=address -fno-omit-frame-pointer" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=1" ctest -j 12 --output-on-failure) || exit 666 + (mkdir -p .build.c++.asan && cd .build.c++.asan && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-D_LIBCPP_DEBUG=1 -fsanitize=undefined -fsanitize=pointer-overflow -fsanitize-trap=pointer-overflow -fsanitize=address -fno-omit-frame-pointer -fsanitize=signed-integer-overflow" && cmake --build . && ASAN_OPTIONS="new_delete_type_mismatch=1" ctest -j 12 --output-on-failure) || exit 666 (mkdir -p .build.c++.m32 && cd .build.c++.m32 && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug && cmake --build . && ctest -j 12 --output-on-failure) || exit 666 (mkdir -p .build.c++.tidy && cd .build.c++.tidy && CXX=c++ cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_CLANG_TIDY=clang-tidy -DCMAKE_CXX_CPPLINT="cpplint;--quiet" -DCMAKE_CXX_CPPCHECK="cppcheck;--enable=all;--suppress=missingIncludeSystem;--checkers-report=cppcheck.report;--suppress=checkersReport;--inline-suppr;--std=c++17;--error-exitcode=1" -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="include-what-you-use;-Xiwyu;--mapping_file=/Users/correatedesco1/boost-multi/.iwyu-test.imp;-Xiwyu;--no_fwd_decls;-Xiwyu;--error" && cmake --build . --verbose --parallel && ctest -j 12 --output-on-failure) || exit 666