mirror of
https://github.com/ETLCPP/etl.git
synced 2026-10-28 18:07:10 +08:00
Merge branch 'development' into future
This commit is contained in:
commit
1293aa7903
6
.github/workflows/clang-c++11.yml
vendored
6
.github/workflows/clang-c++11.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=11 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -78,7 +78,7 @@ jobs:
|
||||
export CXX=clang++
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
export LDFLAGS="-stdlib=libc++"
|
||||
cmake -D BUILD_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=11 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -99,7 +99,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=11 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
6
.github/workflows/clang-c++14.yml
vendored
6
.github/workflows/clang-c++14.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=14 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -78,7 +78,7 @@ jobs:
|
||||
export CXX=clang++
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
export LDFLAGS="-stdlib=libc++"
|
||||
cmake -D BUILD_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=14 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -99,7 +99,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=14 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
6
.github/workflows/clang-c++17.yml
vendored
6
.github/workflows/clang-c++17.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=17 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -78,7 +78,7 @@ jobs:
|
||||
export CXX=clang++
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
export LDFLAGS="-stdlib=libc++"
|
||||
cmake -D BUILD_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=17 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -99,7 +99,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=17 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
16
.github/workflows/clang-c++20.yml
vendored
16
.github/workflows/clang-c++20.yml
vendored
@ -62,7 +62,7 @@ jobs:
|
||||
export CXX=clang++-17
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
export LDFLAGS="-stdlib=libc++"
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
clang-17 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -90,7 +90,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang-17
|
||||
export CXX=clang++-17
|
||||
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 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
clang-17 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -118,7 +118,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang-17
|
||||
export CXX=clang++-17
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
clang-17 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -146,7 +146,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang-17
|
||||
export CXX=clang++-17
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
clang-17 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -167,7 +167,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -188,7 +188,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -209,7 +209,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -230,7 +230,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
16
.github/workflows/clang-c++23.yml
vendored
16
.github/workflows/clang-c++23.yml
vendored
@ -57,7 +57,7 @@ jobs:
|
||||
export CXX=clang++
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
export LDFLAGS="-stdlib=libc++"
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -86,7 +86,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -107,7 +107,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -128,7 +128,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -149,7 +149,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -170,7 +170,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -191,7 +191,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -212,7 +212,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 -DETL_ENABLE_SANITIZER=ON ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
18
.github/workflows/clang-c++26.yml
vendored
18
.github/workflows/clang-c++26.yml
vendored
@ -55,7 +55,7 @@ jobs:
|
||||
export CXX=clang++ && \
|
||||
export CXXFLAGS=-stdlib=libc++ && \
|
||||
export LDFLAGS=-stdlib=libc++ && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./ && \
|
||||
clang --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -76,7 +76,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./ && \
|
||||
clang --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -97,7 +97,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./ && \
|
||||
clang --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -118,7 +118,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./ && \
|
||||
clang --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -139,7 +139,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./ && \
|
||||
clang --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -158,7 +158,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=26 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -179,7 +179,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=26 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -200,7 +200,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=26 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -221,7 +221,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -D BUILD_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=26 ./
|
||||
cmake -D BUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
52
.github/workflows/clang-syntax-checks.yml
vendored
52
.github/workflows/clang-syntax-checks.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -67,7 +67,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -85,7 +85,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -103,7 +103,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -121,7 +121,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -139,7 +139,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -157,7 +157,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -175,7 +175,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -193,7 +193,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -211,7 +211,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -229,7 +229,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -247,7 +247,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -265,7 +265,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -283,7 +283,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -301,7 +301,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -319,7 +319,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -337,7 +337,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -355,7 +355,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -373,7 +373,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -391,7 +391,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -409,7 +409,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -427,7 +427,7 @@ jobs:
|
||||
run: |
|
||||
export CC=clang
|
||||
export CXX=clang++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
clang --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -447,7 +447,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
clang++ --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -467,7 +467,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
clang++ --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -487,7 +487,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
clang++ --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -507,6 +507,6 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=clang && \
|
||||
export CXX=clang++ && \
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
clang++ --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
4
.github/workflows/gcc-c++11.yml
vendored
4
.github/workflows/gcc-c++11.yml
vendored
@ -51,7 +51,7 @@ jobs:
|
||||
git fetch
|
||||
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=11 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -73,7 +73,7 @@ jobs:
|
||||
git fetch
|
||||
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=11 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
4
.github/workflows/gcc-c++14.yml
vendored
4
.github/workflows/gcc-c++14.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
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=14 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -71,7 +71,7 @@ jobs:
|
||||
run: |
|
||||
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=14 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
4
.github/workflows/gcc-c++17.yml
vendored
4
.github/workflows/gcc-c++17.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
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=17 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -71,7 +71,7 @@ jobs:
|
||||
run: |
|
||||
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=17 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
8
.github/workflows/gcc-c++20.yml
vendored
8
.github/workflows/gcc-c++20.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
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 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -71,7 +71,7 @@ jobs:
|
||||
run: |
|
||||
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 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -92,7 +92,7 @@ jobs:
|
||||
run: |
|
||||
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 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -113,7 +113,7 @@ jobs:
|
||||
run: |
|
||||
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 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
2
.github/workflows/gcc-c++23-armhf.yml
vendored
2
.github/workflows/gcc-c++23-armhf.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build and run tests
|
||||
run: |
|
||||
docker run --rm --user root -v ${{ github.workspace }}:/workspaces/etl etl-armhf bash -c "\
|
||||
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 \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_CXX_STANDARD=23 -DCMAKE_TOOLCHAIN_FILE=.devcontainer/armhf/toolchain-armhf.cmake \
|
||||
-DEXTRA_TESTING_FLAGS=-v \
|
||||
./ && \
|
||||
|
||||
2
.github/workflows/gcc-c++23-i386.yml
vendored
2
.github/workflows/gcc-c++23-i386.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build and run tests
|
||||
run: |
|
||||
docker run --rm --user root -v ${{ github.workspace }}:/workspaces/etl etl-i386 bash -c "\
|
||||
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 \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_CXX_STANDARD=23 -DCMAKE_TOOLCHAIN_FILE=.devcontainer/i386/toolchain-i386.cmake \
|
||||
-DEXTRA_TESTING_FLAGS=-v \
|
||||
./ && \
|
||||
|
||||
2
.github/workflows/gcc-c++23-powerpc.yml
vendored
2
.github/workflows/gcc-c++23-powerpc.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build and run tests
|
||||
run: |
|
||||
docker run --rm --user root -v ${{ github.workspace }}:/workspaces/etl etl-powerpc bash -c "\
|
||||
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 \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_CXX_STANDARD=23 -DCMAKE_TOOLCHAIN_FILE=.devcontainer/powerpc/toolchain-powerpc.cmake \
|
||||
-DEXTRA_TESTING_FLAGS=-v \
|
||||
./ && \
|
||||
|
||||
2
.github/workflows/gcc-c++23-riscv64.yml
vendored
2
.github/workflows/gcc-c++23-riscv64.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build and run tests
|
||||
run: |
|
||||
docker run --rm --user root -v ${{ github.workspace }}:/workspaces/etl etl-riscv64 bash -c "\
|
||||
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 \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_CXX_STANDARD=23 -DCMAKE_TOOLCHAIN_FILE=.devcontainer/riscv64/toolchain-riscv64.cmake \
|
||||
-DEXTRA_TESTING_FLAGS=-v \
|
||||
./ && \
|
||||
|
||||
2
.github/workflows/gcc-c++23-s390x.yml
vendored
2
.github/workflows/gcc-c++23-s390x.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
- name: Build and run tests
|
||||
run: |
|
||||
docker run --rm --user root -v ${{ github.workspace }}:/workspaces/etl etl-s390x bash -c "\
|
||||
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 \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_CXX_STANDARD=23 -DCMAKE_TOOLCHAIN_FILE=.devcontainer/s390x/toolchain-s390x.cmake \
|
||||
-DEXTRA_TESTING_FLAGS=-v \
|
||||
./ && \
|
||||
|
||||
8
.github/workflows/gcc-c++23.yml
vendored
8
.github/workflows/gcc-c++23.yml
vendored
@ -50,7 +50,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc-14
|
||||
export CXX=g++-14
|
||||
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=23 -DETL_OPTIMISATION=-O3 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 ./
|
||||
gcc-14 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -71,7 +71,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc-14
|
||||
export CXX=g++-14
|
||||
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=23 -DETL_OPTIMISATION=-O3 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 ./
|
||||
gcc-14 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -92,7 +92,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc-14
|
||||
export CXX=g++-14
|
||||
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=23 -DETL_OPTIMISATION=-O3 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 ./
|
||||
gcc-14 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -113,7 +113,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc-14
|
||||
export CXX=g++-14
|
||||
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=23 -DETL_OPTIMISATION=-O3 ./
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 -DETL_OPTIMISATION=-O3 ./
|
||||
gcc-14 --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
|
||||
8
.github/workflows/gcc-c++26.yml
vendored
8
.github/workflows/gcc-c++26.yml
vendored
@ -52,7 +52,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./ && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -73,7 +73,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./ && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -94,7 +94,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./ && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
@ -115,7 +115,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
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=26 ./ && \
|
||||
cmake -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./ && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN) && \
|
||||
./test/etl_tests -v"
|
||||
|
||||
52
.github/workflows/gcc-syntax-checks.yml
vendored
52
.github/workflows/gcc-syntax-checks.yml
vendored
@ -49,7 +49,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -67,7 +67,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=03 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -85,7 +85,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -103,7 +103,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -121,7 +121,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -139,7 +139,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=11 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -157,7 +157,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -175,7 +175,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -193,7 +193,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -211,7 +211,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=14 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -229,7 +229,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -247,7 +247,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -265,7 +265,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -283,7 +283,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=17 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -301,7 +301,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -319,7 +319,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -337,7 +337,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -355,7 +355,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -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 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=20 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -373,7 +373,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -391,7 +391,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -409,7 +409,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -427,7 +427,7 @@ jobs:
|
||||
run: |
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=23 ./test/syntax_check
|
||||
gcc --version
|
||||
make -j "$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -447,7 +447,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=gcc && \
|
||||
export CXX=g++ && \
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -467,7 +467,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=gcc && \
|
||||
export CXX=g++ && \
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -487,7 +487,7 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=gcc && \
|
||||
export CXX=g++ && \
|
||||
cmake -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
@ -507,6 +507,6 @@ jobs:
|
||||
cd /workspaces/etl && \
|
||||
export CC=gcc && \
|
||||
export CXX=g++ && \
|
||||
cmake -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
cmake -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=26 ./test/syntax_check && \
|
||||
gcc --version && \
|
||||
make -j \$(getconf _NPROCESSORS_ONLN)"
|
||||
|
||||
8
.github/workflows/msvc.yml
vendored
8
.github/workflows/msvc.yml
vendored
@ -54,7 +54,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -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=${{ matrix.cxx_standard }} ./
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
||||
MSBuild.exe -version
|
||||
MSBuild.exe .\etl.sln
|
||||
|
||||
@ -79,7 +79,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -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=${{ matrix.cxx_standard }} ./
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
||||
MSBuild.exe -version
|
||||
MSBuild.exe .\etl.sln
|
||||
|
||||
@ -105,7 +105,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -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=${{ matrix.cxx_standard }} ./
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
||||
MSBuild.exe -version
|
||||
MSBuild.exe .\etl.sln
|
||||
|
||||
@ -131,7 +131,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -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=${{ matrix.cxx_standard }} ./
|
||||
cmake -G "Visual Studio 17 2022" -AWin32 -DBUILD_TESTS=ON -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_CXX_STANDARD=${{ matrix.cxx_standard }} ./
|
||||
MSBuild.exe -version
|
||||
MSBuild.exe .\etl.sln
|
||||
|
||||
|
||||
@ -123,6 +123,7 @@ const_reference operator[](size_t i) const
|
||||
```
|
||||
**Description**
|
||||
Returns a reference or const reference to the indexed element.
|
||||
Emits an `etl::circular_buffer_out_of_bounds` if ETL_CHECK_INDEX_OPERATOR is defined and the index is out of range of the circular buffer. Undefined behaviour if asserts or exceptions are not enabled.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ const T& at(size_t i) const
|
||||
```
|
||||
**Description**
|
||||
Returns a reference or const reference to the indexed element.
|
||||
Emits an `etl::deque_out_of_range` if the index is out of range of the array. Undefined behaviour if asserts or exceptions are not enabled.
|
||||
Emits an `etl::deque_out_of_bounds` if the index is out of range of the deque. Undefined behaviour if asserts or exceptions are not enabled.
|
||||
|
||||
---
|
||||
|
||||
@ -102,6 +102,7 @@ const T& operator[](size_t i) const
|
||||
```
|
||||
**Description**
|
||||
Returns a reference or const reference to the indexed element.
|
||||
Emits an `etl::deque_out_of_bounds` if ETL_CHECK_INDEX_OPERATOR is defined and the index is out of range of the deque. Undefined behaviour if asserts or exceptions are not enabled.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -4,19 +4,16 @@ title: "variant"
|
||||
|
||||
{{< callout type="info">}}
|
||||
Header: `variant.h`
|
||||
Similar to: `std::variant`
|
||||
Similar to: `std::variant`
|
||||
For C++11 and above.
|
||||
{{< /callout >}}
|
||||
|
||||
**For C++11 and above.**
|
||||
|
||||
```cpp
|
||||
template <typename... TTypes>
|
||||
class variant
|
||||
```
|
||||
|
||||
A variadic class that can contain one a several specified types in a type safe manner.
|
||||
C++11 and C++14 support up to 32 types for visitor callback callbacks.
|
||||
C++17 and above supports any number of visitor callback types.
|
||||
|
||||
Accepts functors, `etl::overload` and `etl::visitor` types as visitor callbacks.
|
||||
|
||||
@ -400,37 +397,42 @@ ETL_CONSTEXPR14 bool holds_alternative(size_t index, const etl::variant<TTypes..
|
||||
Checks if the variant v holds the alternative index.
|
||||
|
||||
## Visitation
|
||||
For `etl::visitor`
|
||||
|
||||
For C++11 and C++14 the maximum number of visitor types is 32.
|
||||
Code size may be minimised if one of the following macros are defined.
|
||||
`etl::variant` provides member functions that support three methods of visitation.
|
||||
|
||||
```cpp
|
||||
ETL_VARIANT_CPP11_MAX_8_TYPES
|
||||
ETL_VARIANT_CPP11_MAX_16_TYPES
|
||||
ETL_VARIANT_CPP11_MAX_24_TYPES
|
||||
```
|
||||
**Description**
|
||||
C++17 and above support any number of visitor callback types.
|
||||
{{< callout type="info">}}
|
||||
### Before: `20.50.0`
|
||||
- C++11 and C++14:
|
||||
Supports up to 32 types of functor, `etl::visitor`, or `etl::overload` callback types.
|
||||
- C++17 and above:
|
||||
Supports any number of functor or `etl::visitor`, or `etl::overload`callback types.
|
||||
|
||||
`etl::variant` provides member functions that support two methods of visitation.
|
||||
### From: `20.50.0`
|
||||
- Supports any number of visitor callback types.
|
||||
- Compiles to smaller object code.
|
||||
{{< /callout >}}
|
||||
|
||||
---
|
||||
### etl::visitor
|
||||
|
||||
```cpp
|
||||
void accept_visitor(etl::visitor<TTypes...>& v)
|
||||
```
|
||||
**Description**
|
||||
Accepts an `etl::visitor` derived type.
|
||||
{{< callout type="warning">}}
|
||||
Deprecated from `20.36.0`
|
||||
{{< /callout >}}
|
||||
|
||||
---
|
||||
|
||||
```cpp
|
||||
void accept_visitor(etl::visitor<TTypes...>& v) const
|
||||
```
|
||||
**Description**
|
||||
Accepts `an etl::visitor` derived type.
|
||||
Deprecated
|
||||
Since: `20.36.0`
|
||||
{{< callout type="warning">}}
|
||||
Deprecated from `20.36.0`
|
||||
{{< /callout >}}
|
||||
|
||||
---
|
||||
|
||||
@ -438,7 +440,7 @@ Since: `20.36.0`
|
||||
void accept(etl::visitor<TTypes...>& v)
|
||||
```
|
||||
**Description**
|
||||
Accepts an `etl::visitor` derived type.
|
||||
Accepts an `etl::visitor` derived type.
|
||||
Since: `20.36.0`
|
||||
|
||||
---
|
||||
@ -450,9 +452,9 @@ void accept(etl::visitor<TTypes...>& v) const
|
||||
Accepts an `etl::visitor` derived type.
|
||||
Since: `20.36.0`
|
||||
|
||||
See `visitor`
|
||||
[See visitor]({{< relref "../../patterns/visitor.md" >}})
|
||||
|
||||
---
|
||||
### Functors
|
||||
|
||||
```cpp
|
||||
template <typename TVisitor>
|
||||
@ -460,7 +462,9 @@ void accept_functor(TVisitor& v)
|
||||
```
|
||||
**Description**
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Deprecated since `20.36.0`
|
||||
{{< callout type="warning">}}
|
||||
Deprecated from `20.36.0`
|
||||
{{< /callout >}}
|
||||
|
||||
---
|
||||
|
||||
@ -470,7 +474,9 @@ void accept_functor(TVisitor& v) const
|
||||
```
|
||||
**Description**
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Deprecated since `20.36.0`
|
||||
{{< callout type="warning">}}
|
||||
Deprecated from `20.36.0`
|
||||
{{< /callout >}}
|
||||
|
||||
---
|
||||
|
||||
@ -479,7 +485,7 @@ template <typename TVisitor>
|
||||
void accept(TVisitor& v)
|
||||
```
|
||||
**Description**
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Since: `20.36.0`
|
||||
|
||||
---
|
||||
@ -489,13 +495,14 @@ template <typename TVisitor>
|
||||
void accept(TVisitor& v) const
|
||||
```
|
||||
**Description**
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Accepts a functor that overrides `operator()` for each type.
|
||||
Since: `20.36.0`
|
||||
|
||||
See overload
|
||||
|
||||
## Visitation
|
||||
For STL style `etl::visit`.
|
||||
### etl::visit
|
||||
|
||||
For STL style `etl::visit`.
|
||||
Since: `20.28.0`
|
||||
|
||||
The ETL implements an STL style visit function.
|
||||
|
||||
@ -92,6 +92,7 @@ bool write(bool value)
|
||||
**Description**
|
||||
Write a boolean value to the stream.
|
||||
Returns `true` if successful, otherwise `false`.
|
||||
If a callback is set, it receives the one-byte boolean value after a successful write.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -881,7 +881,6 @@ namespace etl
|
||||
{
|
||||
public:
|
||||
|
||||
ETL_STATIC_ASSERT((etl::is_trivially_copyable<T>::value), "atomic<T> requires that T is trivially copyable");
|
||||
ETL_STATIC_ASSERT((etl::is_copy_constructible<T>::value), "atomic<T> requires that T is copy constructible");
|
||||
ETL_STATIC_ASSERT((etl::is_copy_assignable<T>::value), "atomic<T> requires that T is copy assignable");
|
||||
ETL_STATIC_ASSERT((etl::is_move_constructible<T>::value), "atomic<T> requires that T is move constructible");
|
||||
@ -963,14 +962,15 @@ namespace etl
|
||||
|
||||
(void)order;
|
||||
ETL_BUILTIN_LOCK;
|
||||
if (memcmp(&value, &expected, sizeof(T)) == 0)
|
||||
if (value == expected)
|
||||
{
|
||||
value = desired;
|
||||
result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
expected = value;
|
||||
result = false;
|
||||
}
|
||||
ETL_BUILTIN_UNLOCK;
|
||||
|
||||
@ -2062,7 +2062,6 @@ namespace etl
|
||||
{
|
||||
public:
|
||||
|
||||
ETL_STATIC_ASSERT((etl::is_trivially_copyable<T>::value), "atomic<T> requires that T is trivially copyable");
|
||||
ETL_STATIC_ASSERT((etl::is_copy_constructible<T>::value), "atomic<T> requires that T is copy constructible");
|
||||
ETL_STATIC_ASSERT((etl::is_copy_assignable<T>::value), "atomic<T> requires that T is copy assignable");
|
||||
ETL_STATIC_ASSERT((etl::is_move_constructible<T>::value), "atomic<T> requires that T is move constructible");
|
||||
@ -2139,15 +2138,17 @@ namespace etl
|
||||
{
|
||||
bool result;
|
||||
|
||||
(void)order;
|
||||
ETL_BUILTIN_LOCK;
|
||||
if (memcmp(&value, &expected, sizeof(T)) == 0)
|
||||
if (value == expected)
|
||||
{
|
||||
value = desired;
|
||||
result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
expected = value;
|
||||
result = false;
|
||||
}
|
||||
ETL_BUILTIN_UNLOCK;
|
||||
|
||||
|
||||
@ -126,7 +126,8 @@ namespace etl
|
||||
//***************************************************************************
|
||||
void write_unchecked(bool value)
|
||||
{
|
||||
*pcurrent++ = value ? 1 : 0;
|
||||
*pcurrent = value ? 1 : 0;
|
||||
step(1U);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
|
||||
@ -83,6 +83,19 @@ namespace etl
|
||||
}
|
||||
};
|
||||
|
||||
//***************************************************************************
|
||||
/// circular_buffer out of bounds exception.
|
||||
//***************************************************************************
|
||||
class circular_buffer_out_of_bounds : public etl::circular_buffer_exception
|
||||
{
|
||||
public:
|
||||
|
||||
circular_buffer_out_of_bounds(string_type file_name_, numeric_type line_number_)
|
||||
: etl::circular_buffer_exception(ETL_ERROR_TEXT("circular_buffer:bounds", ETL_CIRCULAR_BUFFER_FILE_ID"C"), file_name_, line_number_)
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
//***************************************************************************
|
||||
///
|
||||
//***************************************************************************
|
||||
@ -888,6 +901,8 @@ namespace etl
|
||||
//*************************************************************************
|
||||
reference operator[](size_t index)
|
||||
{
|
||||
ETL_ASSERT_CHECK_INDEX_OPERATOR(index < size(), ETL_ERROR(circular_buffer_out_of_bounds));
|
||||
|
||||
return pbuffer[(out + index) % buffer_size];
|
||||
}
|
||||
|
||||
@ -897,6 +912,8 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_reference operator[](size_t index) const
|
||||
{
|
||||
ETL_ASSERT_CHECK_INDEX_OPERATOR(index < size(), ETL_ERROR(circular_buffer_out_of_bounds));
|
||||
|
||||
return pbuffer[(out + index) % buffer_size];
|
||||
}
|
||||
|
||||
|
||||
@ -791,6 +791,8 @@ namespace etl
|
||||
//*************************************************************************
|
||||
reference operator[](size_t index)
|
||||
{
|
||||
ETL_ASSERT_CHECK_INDEX_OPERATOR(index < current_size, ETL_ERROR(deque_out_of_bounds));
|
||||
|
||||
iterator result(_begin);
|
||||
result += static_cast<difference_type>(index);
|
||||
|
||||
@ -803,6 +805,8 @@ namespace etl
|
||||
//*************************************************************************
|
||||
const_reference operator[](size_t index) const
|
||||
{
|
||||
ETL_ASSERT_CHECK_INDEX_OPERATOR(index < current_size, ETL_ERROR(deque_out_of_bounds));
|
||||
|
||||
iterator result(_begin);
|
||||
result += static_cast<difference_type>(index);
|
||||
|
||||
|
||||
@ -132,14 +132,7 @@ namespace etl
|
||||
#endif
|
||||
ETL_STATIC_ASSERT(!etl::is_void<T>::value, "etl::launder argument must not be a void type");
|
||||
|
||||
#if defined(__has_builtin) && !defined(ETL_COMPILER_MICROSOFT)
|
||||
#if __has_builtin(__builtin_launder)
|
||||
return __builtin_launder(p);
|
||||
#else
|
||||
return p;
|
||||
#endif
|
||||
#elif ETL_USING_GCC_COMPILER && (ETL_COMPILER_FULL_VERSION >= 70000)
|
||||
// GCC 7, 8 and 9 provide __builtin_launder but not __has_builtin.
|
||||
#if ETL_USING_BUILTIN_LAUNDER
|
||||
return __builtin_launder(p);
|
||||
#else
|
||||
return p;
|
||||
@ -400,12 +393,8 @@ namespace etl
|
||||
template <size_t N, typename T>
|
||||
ETL_NODISCARD ETL_CONSTEXPR T* assume_aligned(T* ptr) ETL_NOEXCEPT
|
||||
{
|
||||
#if defined(__has_builtin) && !defined(ETL_COMPILER_MICROSOFT)
|
||||
#if __has_builtin(__builtin_assume_aligned)
|
||||
#if ETL_USING_BUILTIN_ASSUME_ALIGNED
|
||||
return static_cast<T*>(__builtin_assume_aligned(ptr, N));
|
||||
#else
|
||||
return ptr;
|
||||
#endif
|
||||
#else
|
||||
return ptr;
|
||||
#endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -403,11 +403,6 @@ namespace etl
|
||||
template <typename T, typename... VTypes>
|
||||
ETL_CONSTEXPR14 const T&& get(const etl::variant<VTypes...>&& v);
|
||||
|
||||
#if ETL_NOT_USING_CPP17
|
||||
#include "variant_select_do_operator.h"
|
||||
#include "variant_select_do_visitor.h"
|
||||
#endif
|
||||
|
||||
constexpr bool operator>(etl::monostate, etl::monostate) ETL_NOEXCEPT
|
||||
{
|
||||
return false;
|
||||
@ -439,7 +434,7 @@ namespace etl
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ETL_NOT_USING_STL && !defined(ETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
#if ETL_NOT_USING_STL
|
||||
template <>
|
||||
struct is_copy_constructible<etl::monostate> : public etl::true_type
|
||||
{
|
||||
@ -1571,25 +1566,6 @@ namespace etl
|
||||
{
|
||||
(attempt_visitor<I>(visitor) || ...);
|
||||
}
|
||||
#else
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor)
|
||||
{
|
||||
etl::private_variant::select_do_visitor<NTypes>::do_visitor(*this, visitor);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor) const
|
||||
{
|
||||
etl::private_variant::select_do_visitor<NTypes>::do_visitor(*this, visitor);
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Attempt to call a visitor.
|
||||
@ -1633,6 +1609,81 @@ namespace etl
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor)
|
||||
{
|
||||
do_visitor_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_visitor(TVisitor& visitor) const
|
||||
{
|
||||
do_visitor_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Base case: exactly one index remains.
|
||||
/// Check Index against this->index() to see if it's actually the match.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index>)
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
}
|
||||
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index>) const
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>)
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_visitor_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_visitor_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>) const
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor.visit(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_visitor_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#if ETL_USING_CPP17 && !defined(ETL_VARIANT_FORCE_CPP11)
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor by attempting each one.
|
||||
@ -1651,53 +1702,6 @@ namespace etl
|
||||
{
|
||||
(attempt_operator<I>(visitor) || ...);
|
||||
}
|
||||
#else
|
||||
//***************************************************************************
|
||||
/// Call the relevant operator.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor)
|
||||
{
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_8_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_16_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_24_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant");
|
||||
|
||||
etl::private_variant::select_do_operator<NTypes>::do_operator(*this, visitor);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant operator.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor) const
|
||||
{
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_8_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 8U, "ETL_VARIANT_CPP11_MAX_8_TYPES - Only a maximum of 8 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_16_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 16U, "ETL_VARIANT_CPP11_MAX_16_TYPES - Only a maximum of 16 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
#if defined(ETL_VARIANT_CPP11_MAX_24_TYPES)
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 24U, "ETL_VARIANT_CPP11_MAX_24_TYPES - Only a maximum of 24 types are allowed in this variant");
|
||||
#endif
|
||||
|
||||
ETL_STATIC_ASSERT(sizeof...(TTypes) <= 32U, "A maximum of 32 types are allowed in this variant");
|
||||
|
||||
etl::private_variant::select_do_operator<NTypes>::do_operator(*this, visitor);
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Attempt to call a visitor.
|
||||
@ -1735,6 +1739,81 @@ namespace etl
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor)
|
||||
{
|
||||
do_operator_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Call the relevant visitor.
|
||||
//***************************************************************************
|
||||
template <size_t NTypes, typename TVisitor>
|
||||
void do_operator(TVisitor& visitor) const
|
||||
{
|
||||
do_operator_at(visitor, etl::make_index_sequence<NTypes>{});
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Base case: exactly one index remains.
|
||||
/// Check Index against this->index() to see if it's actually the match.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index>)
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
}
|
||||
|
||||
template <typename TVisitor, size_t Index>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index>) const
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>)
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_operator_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Recursive case: check Index against this->index(), otherwise defer.
|
||||
//***************************************************************************
|
||||
template <typename TVisitor, size_t Index, size_t Index2, size_t... Rest>
|
||||
void do_operator_at(TVisitor& visitor, etl::index_sequence<Index, Index2, Rest...>) const
|
||||
{
|
||||
if (Index == index())
|
||||
{
|
||||
visitor(etl::get<Index>(*this));
|
||||
}
|
||||
else
|
||||
{
|
||||
do_operator_at(visitor, etl::index_sequence<Index2, Rest...>{});
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
/// Get a reference to the stored value by index.
|
||||
/// For trivially destructible types, accesses the variadic_union directly.
|
||||
@ -2091,8 +2170,8 @@ namespace etl
|
||||
//***************************************************************************
|
||||
namespace private_variant
|
||||
{
|
||||
template <typename TRet, typename TCallable, typename TVariant, size_t tIndex, typename TNext, typename... TVariants>
|
||||
static ETL_CONSTEXPR14 TRet do_visit_single(TCallable&& f, TVariant&& v, TNext&&, TVariants&&... vs);
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex, typename TNext, typename... TVariants>
|
||||
static ETL_CONSTEXPR14 TReturn do_visit_single(TCallable&& f, TVariant&& v, TNext&&, TVariants&&... vs);
|
||||
|
||||
//***************************************************************************
|
||||
/// Dummy-struct used to indicate that the return type should be auto-deduced
|
||||
@ -2143,8 +2222,8 @@ namespace etl
|
||||
using type = common_type_t<TToInject<var_type<tAltIndices> >...>;
|
||||
};
|
||||
|
||||
template <template <typename...> class TToInject, size_t... tAltIndices, typename TCur, typename TNext, typename... TVs>
|
||||
struct visit_result_helper<TToInject, index_sequence<tAltIndices...>, TCur, TNext, TVs...>
|
||||
template <template <typename...> class TToInject, size_t... tAltIndices, typename TCur, typename TNext, typename... TVarRest>
|
||||
struct visit_result_helper<TToInject, index_sequence<tAltIndices...>, TCur, TNext, TVarRest...>
|
||||
{
|
||||
template <size_t tIndex>
|
||||
using var_type = rlref_copy<TCur, variant_alternative_t<tIndex, remove_reference_t<TCur> > >;
|
||||
@ -2155,7 +2234,7 @@ namespace etl
|
||||
template <typename... TNextInj>
|
||||
using next_inject = TToInject<var_type<tIndex>, TNextInj...>;
|
||||
using recursive_result =
|
||||
typename visit_result_helper<next_inject, make_index_sequence<variant_size<remove_reference_t<TNext> >::value>, TNext, TVs...>::type;
|
||||
typename visit_result_helper<next_inject, make_index_sequence<variant_size<remove_reference_t<TNext> >::value>, TNext, TVarRest...>::type;
|
||||
};
|
||||
|
||||
using type = common_type_t<typename next_inject_wrap<tAltIndices>::recursive_result...>;
|
||||
@ -2166,10 +2245,10 @@ namespace etl
|
||||
/// type from calls to function object with all possible permutations of variant
|
||||
/// alternatives. Shortcuts to first argument unless it is 'visit_auto_return'.
|
||||
//***************************************************************************
|
||||
template <typename TRet, typename...>
|
||||
template <typename TReturn, typename...>
|
||||
struct visit_result
|
||||
{
|
||||
using type = TRet;
|
||||
using type = TReturn;
|
||||
};
|
||||
|
||||
template <typename TCallable, typename T1, typename... Ts>
|
||||
@ -2188,58 +2267,71 @@ namespace etl
|
||||
/// Makes a call to TCallable using tIndex alternative to the variant.
|
||||
/// Instantiated as function pointer in the `do_visit` function.
|
||||
//***************************************************************************
|
||||
template <typename TRet, typename TCallable, typename TVariant, size_t tIndex>
|
||||
constexpr TRet do_visit_single(TCallable&& f, TVariant&& v)
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex>
|
||||
constexpr TReturn do_visit_single(TCallable&& f, TVariant&& v)
|
||||
{
|
||||
return static_cast<TCallable&&>(f)(etl::get<tIndex>(static_cast<TVariant&&>(v)));
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Helper to instantiate the function pointers needed for the "jump table".
|
||||
/// Embeds the 'TVarRest' (remaining variants) into its type to come around
|
||||
/// the "double expansion" otherwise needed in "do_visit".
|
||||
/// Recursive dispatch: compares the runtime index against each candidate in
|
||||
/// turn and calls do_visit_single directly - no function-pointer table.
|
||||
/// Base case: exactly one index remains, so it's assumed to be the match
|
||||
/// (the ETL_ASSERT in do_visit guarantees v.index() is valid).
|
||||
//***************************************************************************
|
||||
template <typename TRet, typename TCallable, typename TCurVariant, typename... TVarRest>
|
||||
struct do_visit_helper
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex, typename... TVarRest>
|
||||
static ETL_CONSTEXPR14 TReturn do_visit_at(TCallable&& f, TVariant&& v, index_sequence<tIndex>, TVarRest&&... variants)
|
||||
{
|
||||
using function_pointer = add_pointer_t<TRet(TCallable&&, TCurVariant&&, TVarRest&&...)>;
|
||||
return do_visit_single<TReturn, TCallable, TVariant, tIndex, TVarRest...>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v),
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
|
||||
template <size_t tIndex>
|
||||
static constexpr function_pointer fptr() ETL_NOEXCEPT
|
||||
//***************************************************************************
|
||||
/// Recursive case: check tIndex against v.index(), otherwise defer to the
|
||||
/// rest of the sequence.
|
||||
//***************************************************************************
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex, size_t tIndex2, size_t... tRest, typename... TVarRest>
|
||||
static ETL_CONSTEXPR14 TReturn do_visit_at(TCallable&& f, TVariant&& v, index_sequence<tIndex, tIndex2, tRest...>, TVarRest&&... variants)
|
||||
{
|
||||
if (v.index() == tIndex)
|
||||
{
|
||||
return &do_visit_single<TRet, TCallable, TCurVariant, tIndex, TVarRest...>;
|
||||
return do_visit_single<TReturn, TCallable, TVariant, tIndex, TVarRest...>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v),
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
};
|
||||
else
|
||||
{
|
||||
return do_visit_at<TReturn, TCallable, TVariant>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), index_sequence<tIndex2, tRest...>{},
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Dispatch current variant into recursive calls to dispatch the rest.
|
||||
//***************************************************************************
|
||||
template <typename TRet, typename TCallable, typename TVariant, size_t... tIndices, typename... TVarRest>
|
||||
static ETL_CONSTEXPR14 TRet do_visit(TCallable&& f, TVariant&& v, index_sequence<tIndices...>, TVarRest&&... variants)
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t... tIndices, typename... TVarRest>
|
||||
static ETL_CONSTEXPR14 TReturn do_visit(TCallable&& f, TVariant&& v, index_sequence<tIndices...> seq, TVarRest&&... variants)
|
||||
{
|
||||
ETL_ASSERT(!v.valueless_by_exception(), ETL_ERROR(bad_variant_access));
|
||||
|
||||
using helper_t = do_visit_helper<TRet, TCallable, TVariant, TVarRest...>;
|
||||
using func_ptr = typename helper_t::function_pointer;
|
||||
|
||||
constexpr func_ptr jmp_table[]{helper_t::template fptr<tIndices>()...};
|
||||
|
||||
return jmp_table[v.index()](static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), static_cast<TVarRest&&>(variants)...);
|
||||
return do_visit_at<TReturn, TCallable, TVariant>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), seq,
|
||||
static_cast<TVarRest&&>(variants)...);
|
||||
}
|
||||
|
||||
template <typename TRet, typename TCallable, typename TVariant, typename... TVs>
|
||||
static ETL_CONSTEXPR14 TRet visit(TCallable&& f, TVariant&& v, TVs&&... vs)
|
||||
//***************************************************************************
|
||||
///
|
||||
//***************************************************************************
|
||||
template <typename TReturn, typename TCallable, typename TVariant, typename... TVs>
|
||||
static ETL_CONSTEXPR14 TReturn visit(TCallable&& f, TVariant&& v, TVs&&... vs)
|
||||
{
|
||||
constexpr size_t variants = etl::variant_size<typename remove_reference<TVariant>::type>::value;
|
||||
return private_variant::do_visit<TRet>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), make_index_sequence<variants>{},
|
||||
static_cast<TVs&&>(vs)...);
|
||||
return do_visit<TReturn>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v), make_index_sequence<variants>{}, static_cast<TVs&&>(vs)...);
|
||||
}
|
||||
|
||||
//***************************************************************************
|
||||
/// Allows constexpr operation in c++14, otherwise acts like a lambda to
|
||||
/// bind a variant "get" to an argument for "TCallable".
|
||||
//***************************************************************************
|
||||
template <typename TRet, typename TCallable, typename TVariant, size_t tIndex>
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex>
|
||||
class constexpr_visit_closure
|
||||
{
|
||||
add_pointer_t<TCallable> callable_;
|
||||
@ -2254,17 +2346,17 @@ namespace etl
|
||||
}
|
||||
|
||||
template <typename... Ts>
|
||||
ETL_CONSTEXPR14 TRet operator()(Ts&&... args) const
|
||||
ETL_CONSTEXPR14 TReturn operator()(Ts&&... args) const
|
||||
{
|
||||
return static_cast<TCallable&&>(*callable_)(get<tIndex>(static_cast<TVariant&&>(*variant_)), static_cast<Ts&&>(args)...);
|
||||
}
|
||||
};
|
||||
|
||||
template <typename TRet, typename TCallable, typename TVariant, size_t tIndex, typename TNext, typename... TVariants>
|
||||
static ETL_CONSTEXPR14 TRet do_visit_single(TCallable&& f, TVariant&& v, TNext&& next, TVariants&&... vs)
|
||||
template <typename TReturn, typename TCallable, typename TVariant, size_t tIndex, typename TNext, typename... TVariants>
|
||||
static ETL_CONSTEXPR14 TReturn do_visit_single(TCallable&& f, TVariant&& v, TNext&& next, TVariants&&... vs)
|
||||
{
|
||||
return private_variant::visit<TRet>(
|
||||
constexpr_visit_closure<TRet, TCallable, TVariant, tIndex>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v)),
|
||||
return private_variant::visit<TReturn>(
|
||||
constexpr_visit_closure<TReturn, TCallable, TVariant, tIndex>(static_cast<TCallable&&>(f), static_cast<TVariant&&>(v)),
|
||||
static_cast<TNext&&>(next), static_cast<TVariants&&>(vs)...);
|
||||
}
|
||||
|
||||
@ -2274,8 +2366,8 @@ namespace etl
|
||||
/// C++11/14 compatible etl::visit for etl::variant. Supports both c++17
|
||||
/// "auto return type" signature and c++20 explicit template return type.
|
||||
//***************************************************************************
|
||||
template <typename TRet = private_variant::visit_auto_return, typename... TVariants, typename TCallable,
|
||||
typename TDeducedReturn = private_variant::visit_result_t<TRet, TCallable, TVariants...> >
|
||||
template <typename TReturn = private_variant::visit_auto_return, typename... TVariants, typename TCallable,
|
||||
typename TDeducedReturn = private_variant::visit_result_t<TReturn, TCallable, TVariants...> >
|
||||
static ETL_CONSTEXPR14 TDeducedReturn visit(TCallable&& f, TVariants&&... vs)
|
||||
{
|
||||
return private_variant::visit<TDeducedReturn>(static_cast<TCallable&&>(f), static_cast<TVariants&&>(vs)...);
|
||||
|
||||
@ -31,143 +31,24 @@ SOFTWARE.
|
||||
#ifndef ETL_DETERMINE_BUILTIN_SUPPORT_H_INCLUDED
|
||||
#define ETL_DETERMINE_BUILTIN_SUPPORT_H_INCLUDED
|
||||
|
||||
#if defined(ETL_USE_TYPE_TRAITS_BUILTINS) // Set all of them to be true if not
|
||||
// already defined
|
||||
#if !defined(ETL_USING_BUILTIN_IS_ASSIGNABLE)
|
||||
#define ETL_USING_BUILTIN_IS_ASSIGNABLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_CONSTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_CONSTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_NOTHROW_CONSTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_NOTHROW_CONSTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_NOTHROW_ASSIGNABLE)
|
||||
#define ETL_USING_BUILTIN_IS_NOTHROW_ASSIGNABLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_TRIVIALLY_CONSTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_TRIVIALLY_CONSTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR)
|
||||
#define ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE)
|
||||
#define ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_TRIVIALLY_DESTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_TRIVIALLY_DESTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR)
|
||||
#define ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_DESTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_DESTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_NOTHROW_DESTRUCTIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_NOTHROW_DESTRUCTIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_TRIVIALLY_COPYABLE)
|
||||
#define ETL_USING_BUILTIN_IS_TRIVIALLY_COPYABLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_STANDARD_LAYOUT)
|
||||
#define ETL_USING_BUILTIN_IS_STANDARD_LAYOUT 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_TRIVIAL)
|
||||
#define ETL_USING_BUILTIN_IS_TRIVIAL 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_LAYOUT_COMPATIBLE)
|
||||
#define ETL_USING_BUILTIN_IS_LAYOUT_COMPATIBLE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_POINTER_INTERCONVERTIBLE_BASE_OF)
|
||||
#define ETL_USING_BUILTIN_IS_POINTER_INTERCONVERTIBLE_BASE_OF 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_UNION)
|
||||
#define ETL_USING_BUILTIN_IS_UNION 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_EMPTY)
|
||||
#define ETL_USING_BUILTIN_IS_EMPTY 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_POLYMORPHIC)
|
||||
#define ETL_USING_BUILTIN_IS_POLYMORPHIC 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_ABSTRACT)
|
||||
#define ETL_USING_BUILTIN_IS_ABSTRACT 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_FINAL)
|
||||
#define ETL_USING_BUILTIN_IS_FINAL 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_AGGREGATE)
|
||||
#define ETL_USING_BUILTIN_IS_AGGREGATE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_VIRTUAL_DESTRUCTOR)
|
||||
#define ETL_USING_BUILTIN_HAS_VIRTUAL_DESTRUCTOR 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_UNIQUE_OBJECT_REPRESENTATIONS)
|
||||
#define ETL_USING_BUILTIN_HAS_UNIQUE_OBJECT_REPRESENTATIONS 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_UNDERLYING_TYPE)
|
||||
#define ETL_USING_BUILTIN_UNDERLYING_TYPE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED)
|
||||
#define ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_BIT_CAST)
|
||||
#define ETL_USING_BUILTIN_BIT_CAST 1
|
||||
#if ETL_USING_GCC_COMPILER && (ETL_COMPILER_FULL_VERSION >= 70000 && ETL_COMPILER_FULL_VERSION < 100000) && !defined(ETL_COMPILER_MICROSOFT)
|
||||
// GCC 7, 8 and 9 provide __builtin_launder but not __has_builtin.
|
||||
#if !defined(ETL_USING_BUILTIN_LAUNDER)
|
||||
#define ETL_USING_BUILTIN_LAUNDER 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(ETL_USE_BUILTIN_MEM_FUNCTIONS) // Set all of them to be true if not
|
||||
// already defined
|
||||
#if !defined(ETL_USING_BUILTIN_MEMCPY)
|
||||
#define ETL_USING_BUILTIN_MEMCPY 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_MEMMOVE)
|
||||
#define ETL_USING_BUILTIN_MEMMOVE 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_MEMSET)
|
||||
#define ETL_USING_BUILTIN_MEMSET 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_MEMCMP)
|
||||
#define ETL_USING_BUILTIN_MEMCMP 1
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_MEMCHR)
|
||||
#define ETL_USING_BUILTIN_MEMCHR 1
|
||||
#if (ETL_USING_GCC_COMPILER || ETL_USING_CLANG_COMPILER) && !defined(ETL_COMPILER_MICROSOFT)
|
||||
// __builtin_constant_p predates __has_builtin on GCC and Clang, so enable it for
|
||||
// those compilers when __has_builtin was not available to detect it.
|
||||
#if !defined(ETL_USING_BUILTIN_CONSTANT_P)
|
||||
#define ETL_USING_BUILTIN_CONSTANT_P 1
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(__has_builtin) && !defined(ETL_COMPILER_MICROSOFT) // Use __has_builtin to check for
|
||||
// existence of builtin functions?
|
||||
// Fix VS2022 intellisense issue.
|
||||
#if defined(__has_builtin) && !defined(ETL_DISABLE_BUILTIN_FUNCTIONS) && !defined(ETL_COMPILER_MICROSOFT) // Use __has_builtin to check for
|
||||
// existence of builtin functions?
|
||||
// Fix VS2022 intellisense issue.
|
||||
#if !defined(ETL_USING_BUILTIN_IS_ASSIGNABLE)
|
||||
#define ETL_USING_BUILTIN_IS_ASSIGNABLE __has_builtin(__is_assignable)
|
||||
#endif
|
||||
@ -319,6 +200,15 @@ SOFTWARE.
|
||||
#if !defined(ETL_USING_BUILTIN_BUILTIN_IS_CPP_TRIVIALLY_RELOCATABLE)
|
||||
#define ETL_USING_BUILTIN_BUILTIN_IS_CPP_TRIVIALLY_RELOCATABLE __has_builtin(__builtin_is_cpp_trivially_relocatable)
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_LAUNDER)
|
||||
#define ETL_USING_BUILTIN_LAUNDER __has_builtin(__builtin_launder)
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_ASSUME_ALIGNED)
|
||||
#define ETL_USING_BUILTIN_ASSUME_ALIGNED __has_builtin(__builtin_assume_aligned)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(ETL_COMPILER_MICROSOFT) // The Microsoft compiler supports the __is_trivially_copyable
|
||||
@ -531,11 +421,27 @@ SOFTWARE.
|
||||
#define ETL_USING_BUILTIN_BIT_CAST 0
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_LAUNDER)
|
||||
#define ETL_USING_BUILTIN_LAUNDER 0
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_ASSUME_ALIGNED)
|
||||
#define ETL_USING_BUILTIN_ASSUME_ALIGNED 0
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR)
|
||||
#define ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR 0
|
||||
#endif
|
||||
|
||||
#if !defined(ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR)
|
||||
#define ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR 0
|
||||
#endif
|
||||
|
||||
namespace etl
|
||||
{
|
||||
namespace traits
|
||||
{
|
||||
// Documentation: https://www.etlcpp.com/etl_traits.html
|
||||
// Documentation: https://www.etlcpp.com/docs/utilities/etl-traits/
|
||||
|
||||
static ETL_CONSTANT bool using_builtin_is_assignable = (ETL_USING_BUILTIN_IS_ASSIGNABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_constructible = (ETL_USING_BUILTIN_IS_CONSTRUCTIBLE == 1);
|
||||
@ -545,18 +451,36 @@ namespace etl
|
||||
static ETL_CONSTANT bool using_builtin_is_trivially_assignable = (ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_trivially_destructible = (ETL_USING_BUILTIN_IS_TRIVIALLY_DESTRUCTIBLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_trivially_copyable = (ETL_USING_BUILTIN_IS_TRIVIALLY_COPYABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_underlying_type = (ETL_USING_BUILTIN_UNDERLYING_TYPE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_destructible = (ETL_USING_BUILTIN_IS_DESTRUCTIBLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_nothrow_destructible = (ETL_USING_BUILTIN_IS_NOTHROW_DESTRUCTIBLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_standard_layout = (ETL_USING_BUILTIN_IS_STANDARD_LAYOUT == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_trivial = (ETL_USING_BUILTIN_IS_TRIVIAL == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_layout_compatible = (ETL_USING_BUILTIN_IS_LAYOUT_COMPATIBLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_pointer_interconvertible_base_of = (ETL_USING_BUILTIN_IS_POINTER_INTERCONVERTIBLE_BASE_OF == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_union = (ETL_USING_BUILTIN_IS_UNION == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_empty = (ETL_USING_BUILTIN_IS_EMPTY == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_polymorphic = (ETL_USING_BUILTIN_IS_POLYMORPHIC == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_abstract = (ETL_USING_BUILTIN_IS_ABSTRACT == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_final = (ETL_USING_BUILTIN_IS_FINAL == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_aggregate = (ETL_USING_BUILTIN_IS_AGGREGATE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_constant_evaluated = (ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_virtual_base_of = (ETL_USING_BUILTIN_IS_VIRTUAL_BASE_OF == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_trivially_relocatable = (ETL_USING_BUILTIN_IS_TRIVIALLY_RELOCATABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_has_unique_object_representations = (ETL_USING_BUILTIN_HAS_UNIQUE_OBJECT_REPRESENTATIONS == 1);
|
||||
static ETL_CONSTANT bool using_builtin_has_trivial_constructor = (ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR == 1);
|
||||
static ETL_CONSTANT bool using_builtin_has_trivial_destructor = (ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR == 1);
|
||||
static ETL_CONSTANT bool using_builtin_has_virtual_destructor = (ETL_USING_BUILTIN_HAS_VIRTUAL_DESTRUCTOR == 1);
|
||||
static ETL_CONSTANT bool using_builtin_underlying_type = (ETL_USING_BUILTIN_UNDERLYING_TYPE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_constant_p = (ETL_USING_BUILTIN_CONSTANT_P == 1);
|
||||
static ETL_CONSTANT bool using_builtin_memcpy = (ETL_USING_BUILTIN_MEMCPY == 1);
|
||||
static ETL_CONSTANT bool using_builtin_memmove = (ETL_USING_BUILTIN_MEMMOVE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_memset = (ETL_USING_BUILTIN_MEMSET == 1);
|
||||
static ETL_CONSTANT bool using_builtin_memcmp = (ETL_USING_BUILTIN_MEMCMP == 1);
|
||||
static ETL_CONSTANT bool using_builtin_memchr = (ETL_USING_BUILTIN_MEMCHR == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_virtual_base_of = (ETL_USING_BUILTIN_IS_VIRTUAL_BASE_OF == 1);
|
||||
static ETL_CONSTANT bool using_builtin_is_trivially_relocatable = (ETL_USING_BUILTIN_IS_TRIVIALLY_RELOCATABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_builtin_is_cpp_trivially_relocatable = (ETL_USING_BUILTIN_BUILTIN_IS_CPP_TRIVIALLY_RELOCATABLE == 1);
|
||||
static ETL_CONSTANT bool using_builtin_bit_cast = (ETL_USING_BUILTIN_BIT_CAST == 1);
|
||||
static ETL_CONSTANT bool using_builtin_launder = (ETL_USING_BUILTIN_LAUNDER == 1);
|
||||
static ETL_CONSTANT bool using_builtin_assume_aligned = (ETL_USING_BUILTIN_ASSUME_ALIGNED == 1);
|
||||
} // namespace traits
|
||||
} // namespace etl
|
||||
|
||||
|
||||
@ -3318,7 +3318,7 @@ namespace etl
|
||||
#endif
|
||||
|
||||
//***************************************************************************
|
||||
#if ETL_USING_STL && ETL_USING_CPP11 && !defined(ETL_USE_TYPE_TRAITS_BUILTINS) && !defined(ETL_USER_DEFINED_TYPE_TRAITS) \
|
||||
#if ETL_USING_STL && ETL_USING_CPP11 && !defined(ETL_USER_DEFINED_TYPE_TRAITS) \
|
||||
&& ((!defined(ARDUINO) && ETL_NOT_USING_STLPORT) || defined(ETL_GCC_V5_TYPE_TRAITS_SUPPORTED))
|
||||
|
||||
//*********************************************
|
||||
@ -4946,7 +4946,7 @@ namespace etl
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#elif ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED == 1
|
||||
#elif ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED
|
||||
// Fallback for C++20 on supported compilers
|
||||
return __builtin_is_constant_evaluated();
|
||||
#else
|
||||
|
||||
@ -443,16 +443,16 @@ else()
|
||||
message(STATUS "Compiling for STL")
|
||||
endif()
|
||||
|
||||
if (ETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
message(STATUS "Compiling for built-in type traits")
|
||||
target_compile_definitions(etl_tests PRIVATE -DETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
endif()
|
||||
|
||||
if (ETL_USER_DEFINED_TYPE_TRAITS)
|
||||
message(STATUS "Compiling for user defined type traits")
|
||||
target_compile_definitions(etl_tests PRIVATE -DETL_USER_DEFINED_TYPE_TRAITS)
|
||||
endif()
|
||||
|
||||
if (ETL_DISABLE_BUILTIN_FUNCTIONS)
|
||||
message(STATUS "Compiling with builtin functions disabled")
|
||||
target_compile_definitions(etl_tests PRIVATE -DETL_DISABLE_BUILTIN_FUNCTIONS)
|
||||
endif()
|
||||
|
||||
if (ETL_MESSAGES_ARE_NOT_VIRTUAL)
|
||||
message(STATUS "Compiling for non-virtual messages")
|
||||
target_compile_definitions(etl_tests PRIVATE -DETL_MESSAGES_ARE_NOT_VIRTUAL)
|
||||
|
||||
@ -53,14 +53,13 @@ for CXXSTD in 11 14 17 20 23 26; do
|
||||
-DCMAKE_C_COMPILER=$C_COMPILER \
|
||||
-DCMAKE_CXX_COMPILER=$CXX_COMPILER \
|
||||
-DNO_STL=$NOSTL \
|
||||
-DETL_USE_TYPE_TRAITS_BUILTINS=OFF \
|
||||
\
|
||||
-DETL_USER_DEFINED_TYPE_TRAITS=OFF \
|
||||
-DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF \
|
||||
-DETL_OPTIMISATION=-O0 \
|
||||
-DETL_CXX_STANDARD=$CXXSTD \
|
||||
-DETL_ENABLE_SANITIZER=OFF \
|
||||
-DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF \
|
||||
-DETL_USE_BUILTIN_MEM_FUNCTIONS=ON ..
|
||||
-DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF ..
|
||||
cmake --build .
|
||||
./etl_tests
|
||||
lcov --gcov-tool "$GCOV" $GCOV_ADD --capture --directory CMakeFiles/etl_tests.dir \
|
||||
|
||||
@ -147,8 +147,8 @@ RunCheck()
|
||||
local cc_name=$1
|
||||
local msg=$2
|
||||
local no_stl=$3
|
||||
local user_defined=$4
|
||||
local force_03=$5
|
||||
local force_03=$4
|
||||
local disable_builtins=$5
|
||||
local build_dir=$6
|
||||
|
||||
if [ "$compiler_enabled" != "$cc_name" ] && [ "$compiler_enabled" != "All compilers" ]; then
|
||||
@ -170,7 +170,7 @@ RunCheck()
|
||||
rm -rdf bgcc
|
||||
rm -rdf bclang
|
||||
cmake -E make_directory bgcc bclang
|
||||
CC=$cc CXX=$cxx cmake -E chdir $build_dir cmake -DNO_STL=$no_stl -DETL_USER_DEFINED_TYPE_TRAITS=$user_defined -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=$force_03 -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
CC=$cc CXX=$cxx cmake -E chdir $build_dir cmake -DNO_STL=$no_stl -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=$force_03 -DETL_DISABLE_BUILTIN_FUNCTIONS=$disable_builtins -DETL_CXX_STANDARD=$cxx_standard ..
|
||||
cmake --build $build_dir
|
||||
if [ $? -eq 0 ]; then
|
||||
PassedCompilation
|
||||
@ -195,19 +195,24 @@ RunStandard()
|
||||
RunCheck gcc "STL" OFF OFF OFF bgcc
|
||||
RunCheck gcc "No STL" ON OFF OFF bgcc
|
||||
|
||||
RunCheck gcc "STL - Disable builtins" OFF ON ON bgcc
|
||||
RunCheck gcc "No STL - Disable builtins" ON ON ON bgcc
|
||||
|
||||
if [ "$has_force_03" = "1" ]; then
|
||||
RunCheck gcc "STL - Force C++03" OFF OFF ON bgcc
|
||||
RunCheck gcc "No STL - Force C++03" ON OFF ON bgcc
|
||||
RunCheck gcc "STL - Force C++03" OFF ON OFF bgcc
|
||||
RunCheck gcc "No STL - Force C++03" ON ON OFF bgcc
|
||||
fi
|
||||
|
||||
# Clang configurations
|
||||
RunCheck clang "STL" OFF OFF OFF bclang
|
||||
RunCheck clang "No STL" ON OFF OFF bclang
|
||||
RunCheck clang "STL" OFF OFF OFF bclang
|
||||
RunCheck clang "No STL" ON OFF OFF bclang
|
||||
|
||||
RunCheck clang "STL - Disable builtins" OFF ON ON bclang
|
||||
RunCheck clang "No STL - Disable builtins" ON ON ON bclang
|
||||
|
||||
if [ "$has_force_03" = "1" ]; then
|
||||
RunCheck clang "STL - Force C++03" OFF OFF ON bclang
|
||||
RunCheck clang "No STL - Force C++03" ON OFF ON bclang
|
||||
fi
|
||||
RunCheck clang "STL - Force C++03" OFF ON OFF bclang
|
||||
RunCheck clang "No STL - Force C++03" ON ON OFF bclang
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@ -17,7 +17,7 @@ TitleColour='\033[38;2;107;210;255m'
|
||||
HelpColour='\033[38;2;250;180;250m'
|
||||
NoColour='\033[0m'
|
||||
|
||||
ParseGitBranch()
|
||||
ParseGitBranch()
|
||||
{
|
||||
git rev-parse --abbrev-ref HEAD
|
||||
}
|
||||
@ -145,7 +145,7 @@ elif [ "$2" = "1" ]; then
|
||||
elif [ "$2" = "2" ]; then
|
||||
opt="-O2"
|
||||
elif [ "$2" = "3" ]; then
|
||||
opt="-O3"
|
||||
opt="-O3"
|
||||
else
|
||||
opt="-O0"
|
||||
fi
|
||||
@ -240,17 +240,17 @@ for cxx_standard in $cxx_standards ; do
|
||||
cd $OLD_DIR
|
||||
fi
|
||||
done <<-EOF
|
||||
gcc ,STL ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,STL - Non-virtual messages,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=ON $verbose_cmake_flag ..
|
||||
gcc ,STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL - Builtin mem functions ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF -DETL_USE_BUILTIN_MEM_FUNCTIONS=ON $verbose_cmake_flag ..
|
||||
clang,STL ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=OFF -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL - Builtin mem functions ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USE_TYPE_TRAITS_BUILTINS=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF -DETL_USE_BUILTIN_MEM_FUNCTIONS=ON $verbose_cmake_flag ..
|
||||
gcc ,STL ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,STL - Non-virtual messages,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=ON $verbose_cmake_flag ..
|
||||
gcc ,STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
gcc ,No STL - Disable builtins ,.,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF -DETL_DISABLE_BUILTIN_FUNCTIONS=ON $verbose_cmake_flag ..
|
||||
clang,STL ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=OFF -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL - Force C++03 ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=ON -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF $verbose_cmake_flag ..
|
||||
clang,No STL - Disable builtins ,.,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DNO_STL=ON -DETL_USER_DEFINED_TYPE_TRAITS=OFF -DETL_FORCE_TEST_CPP03_IMPLEMENTATION=OFF -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize -DETL_MESSAGES_ARE_NOT_VIRTUAL=OFF -DETL_DISABLE_BUILTIN_FUNCTIONS=ON $verbose_cmake_flag ..
|
||||
gcc ,Initializer list test ,etl_initializer_list,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize $verbose_cmake_flag ..
|
||||
clang,Initializer list test ,etl_initializer_list,cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize $verbose_cmake_flag ..
|
||||
gcc ,Error macros 'log_errors' test,etl_error_handler/log_errors ,cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DETL_OPTIMISATION=$opt -DETL_CXX_STANDARD=$cxx_standard -DETL_ENABLE_SANITIZER=$sanitize $verbose_cmake_flag ..
|
||||
|
||||
@ -12,16 +12,16 @@ else()
|
||||
message(STATUS "Compiling for STL")
|
||||
endif()
|
||||
|
||||
if (ETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
message(STATUS "Compiling for built-in type traits")
|
||||
add_definitions(-DETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
endif()
|
||||
|
||||
if (ETL_USER_DEFINED_TYPE_TRAITS)
|
||||
message(STATUS "Compiling for user defined type traits")
|
||||
add_definitions(-DETL_USER_DEFINED_TYPE_TRAITS)
|
||||
endif()
|
||||
|
||||
if (ETL_DISABLE_BUILTIN_FUNCTIONS)
|
||||
message(STATUS "Compiling with builtin functions disabled")
|
||||
add_definitions(-DETL_DISABLE_BUILTIN_FUNCTIONS)
|
||||
endif()
|
||||
|
||||
if (ETL_FORCE_TEST_CPP03_IMPLEMENTATION)
|
||||
message(STATUS "Force C++03 implementations")
|
||||
add_definitions(-DETL_FORCE_TEST_CPP03_IMPLEMENTATION)
|
||||
|
||||
@ -1374,6 +1374,61 @@ namespace
|
||||
}
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(write_bool_callback)
|
||||
{
|
||||
std::array<char, 3> storage = {};
|
||||
std::vector<char> received;
|
||||
std::vector<size_t> lengths;
|
||||
std::vector<char*> positions;
|
||||
auto lambda = [&](etl::byte_stream_writer::callback_parameter_type sp)
|
||||
{
|
||||
received.insert(received.end(), sp.begin(), sp.end());
|
||||
lengths.push_back(sp.size());
|
||||
positions.push_back(sp.data());
|
||||
};
|
||||
etl::byte_stream_writer::callback_type callback(lambda);
|
||||
etl::byte_stream_writer writer(storage.data(), storage.size(), etl::endian::big, callback);
|
||||
|
||||
CHECK_TRUE(writer.write(char(7)));
|
||||
CHECK_TRUE(writer.write(true));
|
||||
CHECK_TRUE(writer.write(false));
|
||||
CHECK_TRUE(writer.full());
|
||||
CHECK_EQUAL(size_t(3), writer.size_bytes());
|
||||
CHECK_EQUAL(size_t(3), received.size());
|
||||
CHECK(received == std::vector<char>({char(7), char(1), char(0)}));
|
||||
CHECK(lengths == std::vector<size_t>({1U, 1U, 1U}));
|
||||
CHECK(positions == std::vector<char*>({storage.data(), storage.data() + 1, storage.data() + 2}));
|
||||
CHECK_ARRAY_EQUAL(storage.data(), received.data(), received.size());
|
||||
|
||||
CHECK_FALSE(writer.write(true));
|
||||
CHECK_EQUAL(size_t(3), received.size());
|
||||
CHECK_EQUAL(size_t(3), writer.size_bytes());
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(write_bool_unchecked_callback)
|
||||
{
|
||||
std::array<char, 2> storage = {};
|
||||
std::vector<char> received;
|
||||
auto lambda = [&](etl::byte_stream_writer::callback_parameter_type sp)
|
||||
{
|
||||
CHECK_EQUAL(size_t(1), sp.size());
|
||||
received.insert(received.end(), sp.begin(), sp.end());
|
||||
};
|
||||
etl::byte_stream_writer::callback_type callback(lambda);
|
||||
etl::byte_stream_writer writer(storage.data(), storage.size(), etl::endian::little);
|
||||
writer.set_callback(callback);
|
||||
|
||||
writer.write_unchecked(false);
|
||||
etl::write_unchecked(writer, true);
|
||||
CHECK_TRUE(writer.full());
|
||||
CHECK_EQUAL(size_t(2), writer.size_bytes());
|
||||
CHECK(received == std::vector<char>({char(0), char(1)}));
|
||||
CHECK_EQUAL(char(0), storage[0]);
|
||||
CHECK_EQUAL(char(1), storage[1]);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(write_byte_stream_callback)
|
||||
{
|
||||
|
||||
@ -647,6 +647,8 @@ namespace
|
||||
{
|
||||
CHECK_EQUAL(input2[i], data[i]);
|
||||
}
|
||||
|
||||
CHECK_THROW(data[data.size()], etl::circular_buffer_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
@ -662,6 +664,8 @@ namespace
|
||||
{
|
||||
CHECK_EQUAL(input[i + 3], data[i]);
|
||||
}
|
||||
|
||||
CHECK_THROW(data[data.size()], etl::circular_buffer_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
|
||||
@ -394,6 +394,14 @@ namespace
|
||||
CHECK_EQUAL(compare_data.at(5), data.at(5));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_at_out_of_bounds)
|
||||
{
|
||||
DataNDC data(initial_data.begin(), initial_data.end());
|
||||
|
||||
CHECK_THROW(data.at(data.size()), etl::deque_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_at_const)
|
||||
{
|
||||
@ -408,6 +416,14 @@ namespace
|
||||
CHECK_EQUAL(compare_data.at(5), data.at(5));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_at_const_out_of_bounds)
|
||||
{
|
||||
const DataNDC data(initial_data.begin(), initial_data.end());
|
||||
|
||||
CHECK_THROW(data.at(data.size()), etl::deque_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_index_operator)
|
||||
{
|
||||
@ -422,6 +438,14 @@ namespace
|
||||
CHECK_EQUAL(compare_data[5], data[5]);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_index_operator_out_of_bounds)
|
||||
{
|
||||
DataNDC data(initial_data.begin(), initial_data.end());
|
||||
|
||||
CHECK_THROW(data[data.size()], etl::deque_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_index_operator_const)
|
||||
{
|
||||
@ -436,6 +460,14 @@ namespace
|
||||
CHECK_EQUAL(compare_data[5], data[5]);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_index_operator_const_out_of_bounds)
|
||||
{
|
||||
const DataNDC data(initial_data.begin(), initial_data.end());
|
||||
|
||||
CHECK_THROW(data[data.size()], etl::deque_out_of_bounds);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_front)
|
||||
{
|
||||
|
||||
@ -66,6 +66,44 @@ namespace
|
||||
CHECK_EQUAL((ETL_USING_8BIT_TYPES == 1), etl::traits::has_8bit_types);
|
||||
CHECK_EQUAL((ETL_USING_64BIT_TYPES == 1), etl::traits::has_64bit_types);
|
||||
|
||||
// Using builtins...
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_ASSIGNABLE == 1), etl::traits::using_builtin_is_assignable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_CONSTRUCTIBLE == 1), etl::traits::using_builtin_is_constructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_NOTHROW_CONSTRUCTIBLE == 1), etl::traits::using_builtin_is_nothrow_constructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_NOTHROW_ASSIGNABLE == 1), etl::traits::using_builtin_is_nothrow_assignable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIALLY_CONSTRUCTIBLE == 1), etl::traits::using_builtin_is_trivially_constructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE == 1), etl::traits::using_builtin_is_trivially_assignable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIALLY_DESTRUCTIBLE == 1), etl::traits::using_builtin_is_trivially_destructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIALLY_COPYABLE == 1), etl::traits::using_builtin_is_trivially_copyable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_HAS_TRIVIAL_CONSTRUCTOR == 1), etl::traits::using_builtin_has_trivial_constructor);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_HAS_TRIVIAL_DESTRUCTOR == 1), etl::traits::using_builtin_has_trivial_destructor);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_HAS_VIRTUAL_DESTRUCTOR == 1), etl::traits::using_builtin_has_virtual_destructor);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_DESTRUCTIBLE == 1), etl::traits::using_builtin_is_destructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_NOTHROW_DESTRUCTIBLE == 1), etl::traits::using_builtin_is_nothrow_destructible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_STANDARD_LAYOUT == 1), etl::traits::using_builtin_is_standard_layout);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIAL == 1), etl::traits::using_builtin_is_trivial);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_LAYOUT_COMPATIBLE == 1), etl::traits::using_builtin_is_layout_compatible);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_POINTER_INTERCONVERTIBLE_BASE_OF == 1), etl::traits::using_builtin_is_pointer_interconvertible_base_of);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_UNION == 1), etl::traits::using_builtin_is_union);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_EMPTY == 1), etl::traits::using_builtin_is_empty);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_POLYMORPHIC == 1), etl::traits::using_builtin_is_polymorphic);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_ABSTRACT == 1), etl::traits::using_builtin_is_abstract);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_FINAL == 1), etl::traits::using_builtin_is_final);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_AGGREGATE == 1), etl::traits::using_builtin_is_aggregate);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_HAS_UNIQUE_OBJECT_REPRESENTATIONS == 1), etl::traits::using_builtin_has_unique_object_representations);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_UNDERLYING_TYPE == 1), etl::traits::using_builtin_underlying_type);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED == 1), etl::traits::using_builtin_is_constant_evaluated);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_CONSTANT_P == 1), etl::traits::using_builtin_constant_p);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_MEMCPY == 1), etl::traits::using_builtin_memcpy);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_MEMMOVE == 1), etl::traits::using_builtin_memmove);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_MEMSET == 1), etl::traits::using_builtin_memset);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_MEMCMP == 1), etl::traits::using_builtin_memcmp);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_MEMCHR == 1), etl::traits::using_builtin_memchr);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_VIRTUAL_BASE_OF == 1), etl::traits::using_builtin_is_virtual_base_of);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_IS_TRIVIALLY_RELOCATABLE == 1), etl::traits::using_builtin_is_trivially_relocatable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_BUILTIN_IS_CPP_TRIVIALLY_RELOCATABLE == 1), etl::traits::using_builtin_builtin_is_cpp_trivially_relocatable);
|
||||
CHECK_EQUAL((ETL_USING_BUILTIN_BIT_CAST == 1), etl::traits::using_builtin_bit_cast);
|
||||
|
||||
// Has...
|
||||
CHECK_EQUAL((ETL_HAS_ATOMIC == 1), etl::traits::has_atomic);
|
||||
CHECK_EQUAL((ETL_HAS_MUTEX == 1), etl::traits::has_mutex);
|
||||
|
||||
@ -1943,6 +1943,7 @@ namespace
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
#if (ETL_USING_STL && ETL_CPP11_TYPE_TRAITS_IS_TRIVIAL_SUPPORTED) || ETL_USING_BUILTIN_IS_TRIVIALLY_COPYABLE
|
||||
TEST(test_start_lifetime_as)
|
||||
{
|
||||
struct quad_t
|
||||
@ -1968,6 +1969,7 @@ namespace
|
||||
CHECK_EQUAL(1, cp->a);
|
||||
CHECK_EQUAL(4, cp->d);
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_start_lifetime_as_array)
|
||||
|
||||
@ -1393,7 +1393,7 @@ namespace
|
||||
// because ETL_NOEXCEPT_IF expands to nothing otherwise.
|
||||
// The etl::is_nothrow_* traits only work with STL or builtins.
|
||||
//*************************************************************************
|
||||
#if ETL_USING_CPP11 && ETL_USING_EXCEPTIONS && (defined(ETL_USE_TYPE_TRAITS_BUILTINS) || (ETL_USING_STL && !defined(ETL_USER_DEFINED_TYPE_TRAITS)))
|
||||
#if ETL_USING_CPP11 && ETL_USING_EXCEPTIONS && ETL_USING_STL
|
||||
struct NothrowAtAll
|
||||
{
|
||||
NothrowAtAll() noexcept {}
|
||||
|
||||
@ -355,8 +355,8 @@ namespace
|
||||
#endif
|
||||
} // namespace
|
||||
|
||||
// Definitions for when the STL and compiler built-ins are not available.
|
||||
#if ETL_NOT_USING_STL && !defined(ETL_USE_TYPE_TRAITS_BUILTINS)
|
||||
// Definitions for when the STL is not available.
|
||||
#if ETL_NOT_USING_STL
|
||||
|
||||
using etl::is_assignable;
|
||||
using etl::is_constructible;
|
||||
@ -792,6 +792,7 @@ namespace
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_CPP17 && ETL_USING_STL || ETL_USING_BUILTIN_IS_STANDARD_LAYOUT
|
||||
TEST(test_is_standard_layout)
|
||||
{
|
||||
struct StandardLayout
|
||||
@ -813,13 +814,15 @@ namespace
|
||||
CHECK(etl::is_standard_layout<StandardLayout>::value);
|
||||
CHECK(!etl::is_standard_layout<NonStandardLayout>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_standard_layout_v<StandardLayout>);
|
||||
CHECK(!etl::is_standard_layout_v<NonStandardLayout>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if (ETL_USING_CPP17 && ETL_USING_STL) || ETL_USING_BUILTIN_IS_TRIVIAL
|
||||
TEST(test_is_trivial)
|
||||
{
|
||||
struct Trivial
|
||||
@ -864,11 +867,12 @@ namespace
|
||||
CHECK(!etl::is_trivial<NonTrivialCopy>::value);
|
||||
CHECK(!etl::is_trivial<NonTrivialDestructor>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_trivial_v<Trivial>);
|
||||
CHECK(!etl::is_trivial_v<NonTrivialConstructor>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_BUILTIN_IS_LAYOUT_COMPATIBLE || (ETL_USING_STL && ETL_USING_CPP20 && defined(__cpp_lib_is_layout_compatible))
|
||||
@ -1265,6 +1269,7 @@ namespace
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_STL || ETL_USING_BUILTIN_IS_UNION
|
||||
TEST(test_is_union)
|
||||
{
|
||||
union Union
|
||||
@ -1287,13 +1292,15 @@ namespace
|
||||
CHECK(!etl::is_union<NonUnion>::value);
|
||||
CHECK(!etl::is_union<int>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_union_v<Union>);
|
||||
CHECK(!etl::is_union_v<NonUnion>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_STL || ETL_USING_BUILTIN_IS_EMPTY
|
||||
TEST(test_is_empty)
|
||||
{
|
||||
struct Empty
|
||||
@ -1327,13 +1334,15 @@ namespace
|
||||
CHECK(!etl::is_empty<Virtual>::value);
|
||||
CHECK(!etl::is_empty<int>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_empty_v<Empty>);
|
||||
CHECK(!etl::is_empty_v<NotEmpty>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_STL || ETL_USING_BUILTIN_IS_POLYMORPHIC
|
||||
TEST(test_is_polymorphic)
|
||||
{
|
||||
struct NonPolymorphic
|
||||
@ -1368,13 +1377,15 @@ namespace
|
||||
CHECK(!etl::is_polymorphic<NonPolymorphic>::value);
|
||||
CHECK(!etl::is_polymorphic<int>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_polymorphic_v<Polymorphic>);
|
||||
CHECK(!etl::is_polymorphic_v<NonPolymorphic>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_STL || ETL_USING_BUILTIN_IS_ABSTRACT
|
||||
TEST(test_is_abstract)
|
||||
{
|
||||
struct NonAbstract
|
||||
@ -1417,14 +1428,15 @@ namespace
|
||||
CHECK(!etl::is_abstract<NonAbstractPolymorphic>::value);
|
||||
CHECK(!etl::is_abstract<int>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::is_abstract_v<Abstract>);
|
||||
CHECK(!etl::is_abstract_v<ConcreteDerived>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_CPP14
|
||||
#if ETL_USING_CPP14 && (ETL_USING_STL || ETL_USING_BUILTIN_IS_FINAL)
|
||||
TEST(test_is_final)
|
||||
{
|
||||
struct NonFinal
|
||||
@ -1481,7 +1493,7 @@ namespace
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17 && (ETL_USING_STL || ETL_USING_BUILTIN_IS_AGGREGATE)
|
||||
TEST(test_is_aggregate)
|
||||
{
|
||||
struct Aggregate
|
||||
@ -1542,6 +1554,7 @@ namespace
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_STL || ETL_USING_BUILTIN_HAS_VIRTUAL_DESTRUCTOR
|
||||
TEST(test_has_virtual_destructor)
|
||||
{
|
||||
struct NonVirtualDestructor
|
||||
@ -1583,14 +1596,15 @@ namespace
|
||||
CHECK(!etl::has_virtual_destructor<int>::value);
|
||||
CHECK(!etl::has_virtual_destructor<int*>::value);
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK(etl::has_virtual_destructor_v<VirtualDestructor>);
|
||||
CHECK(!etl::has_virtual_destructor_v<NonVirtualDestructor>);
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17 && (ETL_USING_STL || ETL_USING_BUILTIN_HAS_UNIQUE_OBJECT_REPRESENTATIONS)
|
||||
TEST(test_has_unique_object_representations)
|
||||
{
|
||||
struct NoPadding
|
||||
@ -2621,7 +2635,7 @@ namespace
|
||||
//*************************************************************************
|
||||
TEST(test_is_lvalue_assignable)
|
||||
{
|
||||
#if ETL_USING_STL || defined(ETL_USE_TYPE_TRAITS_BUILTINS) || defined(ETL_USER_DEFINED_TYPE_TRAITS)
|
||||
#if ETL_USING_STL || defined(ETL_USER_DEFINED_TYPE_TRAITS)
|
||||
#if ETL_USING_CPP17
|
||||
CHECK((etl::is_lvalue_assignable_v<Copyable, Copyable>));
|
||||
CHECK(!(etl::is_lvalue_assignable_v<Moveable, Moveable>));
|
||||
@ -2969,10 +2983,14 @@ namespace
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
#if ETL_CPP11_TYPE_TRAITS_IS_TRIVIAL_SUPPORTED || ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE
|
||||
template <typename T1, typename T2>
|
||||
using is_trivially_assignable = std::is_trivially_assignable<T1, T2>;
|
||||
#elif ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE
|
||||
TEST(test_is_trivially_assignable)
|
||||
{
|
||||
#if ETL_USING_CPP11 && !defined(ETL_USER_DEFINED_TYPE_TRAITS) \
|
||||
&& (ETL_CPP11_TYPE_TRAITS_IS_TRIVIAL_SUPPORTED || ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE)
|
||||
#if ETL_USING_CPP11 && !defined(ETL_USER_DEFINED_TYPE_TRAITS) \
|
||||
&& (ETL_CPP11_TYPE_TRAITS_IS_TRIVIAL_SUPPORTED || ETL_USING_BUILTIN_IS_TRIVIALLY_ASSIGNABLE)
|
||||
CHECK((etl::is_trivially_assignable<int&, int>::value) == (std::is_trivially_assignable<int&, int>::value));
|
||||
CHECK((etl::is_trivially_assignable<int, int>::value) == (std::is_trivially_assignable<int, int>::value));
|
||||
CHECK((etl::is_trivially_assignable<Copyable&, const Copyable&>::value) == (std::is_trivially_assignable<Copyable&, const Copyable&>::value));
|
||||
@ -2980,12 +2998,13 @@ namespace
|
||||
CHECK((etl::is_trivially_assignable<MoveableCopyable&, const MoveableCopyable&>::value)
|
||||
== (std::is_trivially_assignable<MoveableCopyable&, const MoveableCopyable&>::value));
|
||||
|
||||
#if ETL_USING_CPP17
|
||||
#if ETL_USING_CPP17
|
||||
CHECK((etl::is_trivially_assignable_v<int&, int>) == (std::is_trivially_assignable_v<int&, int>));
|
||||
CHECK((etl::is_trivially_assignable_v<Copyable&, const Copyable&>) == (std::is_trivially_assignable_v<Copyable&, const Copyable&>));
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_is_trivially_copy_assignable)
|
||||
@ -3343,11 +3362,12 @@ namespace
|
||||
TEST(test_is_constant_evaluated)
|
||||
{
|
||||
constexpr bool c0 = etl::is_constant_evaluated();
|
||||
#if !ETL_USING_CPP23 && defined(ETL_COMPILER_MICROSOFT)
|
||||
#if (!ETL_USING_CPP23 && (defined(ETL_COMPILER_MICROSOFT) || !ETL_USING_BUILTIN_IS_CONSTANT_EVALUATED))
|
||||
// Not supported on MSVC via __has_builtin, see
|
||||
// determine_builtin_support.h
|
||||
CHECK_FALSE(c0);
|
||||
#else
|
||||
|
||||
CHECK_TRUE(c0);
|
||||
#endif
|
||||
|
||||
|
||||
@ -2726,6 +2726,40 @@ namespace
|
||||
}
|
||||
};
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_variant_visit_dispatches_every_alternative)
|
||||
{
|
||||
etl::variant<int8_t, uint8_t, int16_t> variant;
|
||||
variant_test_visit_dispatcher visitor;
|
||||
|
||||
variant = int8_t{};
|
||||
CHECK_EQUAL(5, etl::visit(visitor, variant));
|
||||
|
||||
variant = uint8_t{};
|
||||
CHECK_EQUAL(6, etl::visit(visitor, variant));
|
||||
|
||||
variant = int16_t{};
|
||||
CHECK_EQUAL(7, etl::visit(visitor, variant));
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_variant_visit_rejects_valueless_variant)
|
||||
{
|
||||
etl::variant<int8_t, uint8_t> variant(etl::private_variant::valueless_t{});
|
||||
variant_test_visit_dispatcher visitor;
|
||||
|
||||
CHECK_THROW(etl::visit(visitor, variant), etl::bad_variant_access);
|
||||
}
|
||||
|
||||
//*************************************************************************
|
||||
TEST(test_variant_multiple_visit_rejects_valueless_later_variant)
|
||||
{
|
||||
etl::variant<int8_t, uint8_t> variant1;
|
||||
etl::variant<int8_t, uint16_t, uint8_t> variant2(etl::private_variant::valueless_t{});
|
||||
|
||||
CHECK_THROW(etl::visit<int16_t>(test_variant_multiple_visit_helper{}, variant1, variant2), etl::bad_variant_access);
|
||||
}
|
||||
|
||||
TEST(test_variant_multiple_visit)
|
||||
{
|
||||
etl::variant<int8_t, uint8_t> variant1;
|
||||
|
||||
@ -3596,8 +3596,6 @@
|
||||
<ClInclude Include="..\..\include\etl\private\diagnostic_unused_function_push.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\tuple_element.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\tuple_size.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_operator.h" />
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_visitor.h" />
|
||||
<ClInclude Include="..\..\include\etl\pseudo_moving_average.h" />
|
||||
<ClInclude Include="..\..\include\etl\delegate.h" />
|
||||
<ClInclude Include="..\..\include\etl\delegate_service.h" />
|
||||
|
||||
@ -1407,12 +1407,6 @@
|
||||
<ClInclude Include="..\..\include\etl\index_of_type.h">
|
||||
<Filter>ETL\Utilities</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_visitor.h">
|
||||
<Filter>ETL\Private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\private\variant_select_do_operator.h">
|
||||
<Filter>ETL\Private</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\etl\monostate.h">
|
||||
<Filter>ETL\Utilities</Filter>
|
||||
</ClInclude>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user