mirror of
https://github.com/ETLCPP/etl.git
synced 2026-04-30 19:09:10 +08:00
Includes C++26 related infrastructure macros. Fixes compile errors when compiling under C++26. Initially supported C++26 features: - [[indeterminate]] - new 2022 ISO prefixes in ratio.h - atomic fetch_max() and fetch_min() - is_virtual_base_of - is_trivially_relocatable and trivially_relocate - saturation arithmetic: add_sat, sub_sat, mul_sat, div_sat, saturate_cast
97 lines
2.8 KiB
YAML
97 lines
2.8 KiB
YAML
name: gcc-c++20
|
|
on:
|
|
push:
|
|
branches: [ master, development, pull-request/* ]
|
|
pull_request:
|
|
branches: [ master, development, pull-request/* ]
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
|
|
build-gcc-cpp20-linux-stl:
|
|
name: GCC C++20 Linux - STL
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build
|
|
run: |
|
|
export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0
|
|
export CC=gcc
|
|
export CXX=g++
|
|
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
|
gcc --version
|
|
make -j "$(getconf _NPROCESSORS_ONLN)"
|
|
|
|
- name: Run tests
|
|
run: ./test/etl_tests -v
|
|
|
|
build-gcc-cpp20-linux-no-stl:
|
|
name: GCC C++20 Linux - No STL
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build
|
|
run: |
|
|
export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0
|
|
export CC=gcc
|
|
export CXX=g++
|
|
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
|
gcc --version
|
|
make -j "$(getconf _NPROCESSORS_ONLN)"
|
|
|
|
- name: Run tests
|
|
run: ./test/etl_tests -v
|
|
|
|
build-gcc-cpp20-linux-stl-force-cpp03:
|
|
name: GCC C++20 Linux - STL - Force C++03
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build
|
|
run: |
|
|
export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0
|
|
export CC=gcc
|
|
export CXX=g++
|
|
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
|
gcc --version
|
|
make -j "$(getconf _NPROCESSORS_ONLN)"
|
|
|
|
- name: Run tests
|
|
run: ./test/etl_tests -v
|
|
|
|
build-gcc-cpp20-linux-no-stl-force-cpp03:
|
|
name: GCC C++20 Linux - No STL - Force C++03
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-22.04]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Build
|
|
run: |
|
|
export ASAN_OPTIONS=alloc_dealloc_mismatch=0,detect_leaks=0
|
|
export CC=gcc
|
|
export CXX=g++
|
|
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
|
gcc --version
|
|
make -j "$(getconf _NPROCESSORS_ONLN)"
|
|
|
|
- name: Run tests
|
|
run: ./test/etl_tests -v |