-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
This seems to be something new with g++-15 as the current code compiles and runs with g++-14. This is on ubuntu arm64.
I haven't had time to dig into the compiler complaint here, but I'm going to assume it's reporting a real attempt to strip const from void*.
cmake -B build -S . -DCMAKE_CXX_COMPILER=g++-15 -DCMAKE_CXX_STANDARD=23 -DCMAKE_VERBOSE_MAKEFILE=ON
[ 11%] �[32mBuilding CXX object tests/beman/inplace_vector/CMakeFiles/beman.inplace_vector.ref-test.dir/ref_impl.test.cpp.o�[0m
cd /home/jeff/dev/inplace_vector/build/tests/beman/inplace_vector && /usr/bin/g++-15 -I/home/jeff/dev/inplace_vector/include -I/home/jeff/dev/inplace_vector/build/include -std=gnu++23 -MD -MT tests/beman/inplace_vector/CMakeFiles/beman.inplace_vector.ref-test.dir/ref_impl.test.cpp.o -MF CMakeFiles/beman.inplace_vector.ref-test.dir/ref_impl.test.cpp.o.d -o CMakeFiles/beman.inplace_vector.ref-test.dir/ref_impl.test.cpp.o -c /home/jeff/dev/inplace_vector/tests/beman/inplace_vector/ref_impl.test.cpp
In file included from /usr/include/c++/15/bits/stl_iterator.h:78,
from /usr/include/c++/15/bits/stl_algobase.h:67,
from /usr/include/c++/15/algorithm:62,
from /home/jeff/dev/inplace_vector/include/beman/inplace_vector/inplace_vector.hpp:10,
from /home/jeff/dev/inplace_vector/tests/beman/inplace_vector/ref_impl.test.cpp:18:
/usr/include/c++/15/bits/stl_construct.h: In instantiation of ‘constexpr _Tp* std::construct_at(_Tp*, _Args&& ...) [with _Tp = const int; _Args = {const int&}]’:
/home/jeff/dev/inplace_vector/include/beman/inplace_vector/inplace_vector.hpp:352:22: required from ‘constexpr T& beman::inplace_vector<T, N>::unchecked_emplace_back(Args&& ...) requires constructible_from<T, Args ...> [with Args = {const int&}; T = const int; long unsigned int N = 3]’
352 | std::construct_at(end(), std::forward<Args>(args)...);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/jeff/dev/inplace_vector/include/beman/inplace_vector/inplace_vector.hpp:399:34: required from ‘constexpr T& beman::inplace_vector<T, N>::unchecked_push_back(const T&) requires constructible_from<T, const T&> [with T = const int; long unsigned int N = 3]’
399 | return unchecked_emplace_back(x);
| ~~~~~~~~~~~~~~~~~~~~~~^~~
/home/jeff/dev/inplace_vector/tests/beman/inplace_vector/ref_impl.test.cpp:84:24: required from here
84 | template struct beman::inplace_vector<const int, 3>;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15/bits/stl_construct.h:99:21: error: invalid conversion from ‘const void*’ to ‘void*’ [-fpermissive]
99 | void* __loc = __location;
| ^~~~~~~~~~
| |
| const void*
wusatosi
Metadata
Metadata
Assignees
Labels
No labels