Update deduction guides #340
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: macOS Clang | |
on: [push, pull_request] | |
jobs: | |
build-and-test: | |
strategy: | |
matrix: | |
include: | |
- clang_ver: '19' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -msse2 -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/usr/local' | |
macos_ver: '13' | |
# macOS-14-arm64 | |
# - clang_ver: '12' | |
# build_type: 'Release' | |
# flags: '-std=c++20 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
# path_prefix: '/opt/homebrew' | |
# macos_ver: '14' | |
# - clang_ver: '13' | |
# build_type: 'Release' | |
# flags: '-std=c++20 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
# path_prefix: '/opt/homebrew' | |
# macos_ver: '14' | |
# - clang_ver: '14' | |
# build_type: 'Release' | |
# flags: '-std=c++20 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
# path_prefix: '/opt/homebrew' | |
# macos_ver: '14' | |
- clang_ver: '15' | |
build_type: 'Release' | |
flags: '-std=c++20 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '16' | |
build_type: 'Release' | |
flags: '-std=c++20 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '17' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '18' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DLIBCPP_TEST_DEDUCTION_GUIDES -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Debug' | |
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DLIBCPP_TEST_DEDUCTION_GUIDES' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Debug' | |
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DLIBCPP_TEST_DEDUCTION_GUIDES -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DTEST_LIBCXX_NEW -DTEST_DISABLE_SIMPLE' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Release' | |
flags: '-std=c++23 -Werror -DTEST_LIBCXX_NEW -DTEST_DISABLE_SIMPLE -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Debug' | |
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DTEST_LIBCXX_NEW -DTEST_DISABLE_SIMPLE' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
- clang_ver: '19' | |
build_type: 'Debug' | |
flags: '-std=c++23 -Werror -fsanitize=address,undefined -DTEST_LIBCXX_NEW -DTEST_DISABLE_SIMPLE -fno-rtti -DMOMO_USE_SAFE_MAP_BRACKETS -DMOMO_USE_UNORDERED_HINT_ITERATORS -DMOMO_DISABLE_TYPE_INFO' | |
path_prefix: '/opt/homebrew' | |
macos_ver: '14' | |
runs-on: macos-${{ matrix.macos_ver }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Ninja | |
run: brew install ninja | |
- name: Install Clang | |
run: brew install llvm@${{ matrix.clang_ver }} | |
- name: Build | |
env: | |
CXX: ${{ matrix.path_prefix }}/opt/llvm@${{ matrix.clang_ver }}/bin/clang++ | |
CXXFLAGS: ${{ matrix.flags }} | |
run: | | |
cd test | |
mkdir build | |
cd build | |
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} | |
cmake --build . -v | |
- name: Test | |
run: test/build/momo_test |