File tree Expand file tree Collapse file tree 2 files changed +63
-1
lines changed
Expand file tree Collapse file tree 2 files changed +63
-1
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,60 @@ jobs:
120120 - name : Test Debug
121121 run : ctest --test-dir build --build-config Debug
122122
123+ compiler-test :
124+ runs-on : ubuntu-latest
125+ strategy :
126+ fail-fast : false
127+ matrix :
128+ compilers :
129+ - class : gnu
130+ version : 14
131+ - class : gnu
132+ version : 13
133+ - class : gnu
134+ version : 12
135+ - class : llvm
136+ version : 20
137+ - class : llvm
138+ version : 19
139+ - class : llvm
140+ version : 18
141+ - class : llvm
142+ version : 17
143+ container :
144+ image : ghcr.io/wusatosi/cpp-docker:${{ matrix.compilers.class }}-${{ matrix.compilers.version }}
145+ name : " Compiler: ${{ matrix.compilers.class }} ${{ matrix.compilers.version }}"
146+ steps :
147+ - uses : actions/checkout@v4
148+ - name : Install Compiler
149+ id : install-compiler
150+ run : |
151+ if [ "${{ matrix.compilers.class }}" = "gnu" ]; then
152+ CC=gcc-${{ matrix.compilers.version }}
153+ CXX=g++-${{ matrix.compilers.version }}
154+ else
155+ CC=clang-${{ matrix.compilers.version }}
156+ CXX=clang++-${{ matrix.compilers.version }}
157+ fi
158+
159+ echo "CC=$CC" >> "$GITHUB_OUTPUT"
160+ echo "CXX=$CXX" >> "$GITHUB_OUTPUT"
161+ - name : Configure CMake
162+ run : |
163+ cmake -B build -S . -DCMAKE_CXX_STANDARD=20
164+ env :
165+ CC : ${{ steps.install-compiler.outputs.CC }}
166+ CXX : ${{ steps.install-compiler.outputs.CXX }}
167+ CMAKE_GENERATOR : " Ninja Multi-Config"
168+ - name : Build Debug
169+ run : |
170+ cmake --build build --config Debug --verbose
171+ # cmake --build build --config Debug --target all_verify_interface_header_sets
172+ cmake --install build --config Debug --prefix /tmp/beman.exemplar
173+ find /tmp/beman.exemplar -type f
174+ - name : Test Debug
175+ run : ctest --test-dir build --build-config Debug
176+
123177 create-issue-when-fault :
124178 runs-on : ubuntu-latest
125179 needs : [test]
Original file line number Diff line number Diff line change @@ -74,9 +74,17 @@ template <int Capacity> inplace_vector<int, Capacity> fibonacci_to(int num) {
7474
7575Building this repository requires **C++20** or later.
7676
77+ We will evaluate the possibility of partial support for C++17
78+ when constexpr is fully supported and tested.
79+
7780### Dependencies
7881
79- TODO: tested platforms.
82+ Current implementation is tested against both GNU gcc and LLVM clang compilers.
83+ More specifically, gcc version 12 to 14, and clang version 17 to 20.
84+ Versions outside of this range will likely work as well,
85+ they are just not tested in our current infrastructure.
86+ We are working on expanding this range of compiler support,
87+ and aim to bring `inplace_vector` to MSVC soon!
8088
8189### Instructions
8290
You can’t perform that action at this time.
0 commit comments