Closed psmskelton closed 8 months ago
34 - dccl_test_dynamic_conditions_v4 (Failed)
is fixed by the patch to lua-protobuf spoken about in #114.
The other 6 tests still fail.
The remaining 6 failing tests appear to be caused by gcc
. Swapping over to clang-12
(latest binaries for target platform) results in a green bill of health from asan/lsan
on armhf
.
gcc=9.3
is warning about ABI changes that are known incompatibilities that gcc=7.1
introduced specific to the arm32/armhf
architecture. I would assume that the cross-compilation build farms for protobuf
and boost
are using at least gcc=7.1
, so the general consensus is:
Just ignore the warnings with
-Wno-psabi
if you can ensure all of your libraries are built with at least gcc=7.1.
That doesn't sit particularly well with me as warnings are usually there for a reason.
pb_plugin.cpp
[ 4%] Building CXX object src/apps/pb_plugin/CMakeFiles/protoc-gen-dccl.dir/pb_plugin.cpp.o
In file included from /usr/include/c++/9/vector:72,
from /usr/include/google/protobuf/descriptor.h:60,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double}; _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/vector.tcc:121:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’ changed in GCC 7.1
121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double}; _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector<double>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’} changed in GCC 7.1
426 | vector<_Tp, _Alloc>::
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/memory:65,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = double*; _ForwardIterator = double*; _Allocator = std::allocator<double>]’:
/usr/include/c++/9/bits/stl_uninitialized.h:329:2: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
328 | return std::__uninitialized_copy_a
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
329 | (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__first),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
330 | _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
305 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:307:37: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
307 | { return std::uninitialized_copy(__first, __last, __result); }
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/vector:67,
from /usr/include/google/protobuf/descriptor.h:60,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_vector.h: In member function ‘void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/stl_vector.h:1195:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’ changed in GCC 7.1
1195 | _M_realloc_insert(end(), __x);
| ^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/memory:65,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
115 | uninitialized_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:140:15: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
137 | return std::__uninitialized_copy<__is_trivial(_ValueType1)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 | && __is_trivial(_ValueType2)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 | && __assignable>::
| ~~~~~~~~~~~~~~~~~~
140 | __uninit_copy(__first, __last, __result);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/vector:72,
from /usr/include/google/protobuf/descriptor.h:60,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const double&}; _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector<double>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’} changed in GCC 7.1
426 | vector<_Tp, _Alloc>::
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/memory:65,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
99 | __uninit_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:101:27: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
101 | { return std::copy(__first, __last, __result); }
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/memory:62,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = std::move_iterator<double*>; _OI = double*]’:
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
465 | copy(_II __first, _II __last, _OI __result)
| ^~~~
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/memory:62,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/gen_units_class_plugin.h:28,
from /home/admin/git_ws/dccl/src/apps/pb_plugin/pb_plugin.cpp:25:
/usr/include/c++/9/bits/stl_iterator.h: In function ‘decltype (std::__miter_base(__it.base())) std::__miter_base(std::move_iterator<_IteratorL>) [with _Iterator = double*]’:
/usr/include/c++/9/bits/stl_iterator.h:1259:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
1259 | __miter_base(move_iterator<_Iterator> __it)
| ^~~~~~~~~~~~
field_codec_arithmetic.cpp
[ 21%] Building CXX object src/arithmetic/CMakeFiles/dccl_arithmetic.dir/field_codec_arithmetic.cpp.o
In file included from /usr/include/c++/9/vector:72,
from /usr/include/google/protobuf/descriptor.h:60,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec_typed.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:33,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double}; _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/vector.tcc:121:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’ changed in GCC 7.1
121 | _M_realloc_insert(end(), std::forward<_Args>(__args)...);
| ^~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {double}; _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/vector.tcc:426:7: note: parameter passing for argument of type ‘std::vector<double>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<double*, std::vector<double> >’} changed in GCC 7.1
426 | vector<_Tp, _Alloc>::
| ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/vector:67,
from /usr/include/google/protobuf/descriptor.h:60,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec_typed.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:33,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/stl_vector.h: In copy constructor ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator<double>]’:
/usr/include/c++/9/bits/stl_vector.h:555:31: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
555 | std::__uninitialized_copy_a(__x.begin(), __x.end(),
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
556 | this->_M_impl._M_start,
| ~~~~~~~~~~~~~~~~~~~~~~~
557 | _M_get_Tp_allocator());
| ~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/memory:65,
from /usr/include/google/protobuf/descriptor.h:57,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/../field_codec_typed.h:31,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:33,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = double*; _ForwardIterator = double*; _Allocator = std::allocator<double>]’:
/usr/include/c++/9/bits/stl_uninitialized.h:329:2: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
328 | return std::__uninitialized_copy_a
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~
329 | (_GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__first),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
330 | _GLIBCXX_MAKE_MOVE_IF_NOEXCEPT_ITERATOR(__last), __result, __alloc);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
305 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:307:37: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
307 | { return std::uninitialized_copy(__first, __last, __result); }
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*; _Tp = double]’:
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
305 | __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:305:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:307:37: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
307 | { return std::uninitialized_copy(__first, __last, __result); }
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
115 | uninitialized_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:140:15: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
137 | return std::__uninitialized_copy<__is_trivial(_ValueType1)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 | && __is_trivial(_ValueType2)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 | && __assignable>::
| ~~~~~~~~~~~~~~~~~~
140 | __uninit_copy(__first, __last, __result);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In function ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
115 | uninitialized_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:115:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:140:15: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
137 | return std::__uninitialized_copy<__is_trivial(_ValueType1)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
138 | && __is_trivial(_ValueType2)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
139 | && __assignable>::
| ~~~~~~~~~~~~~~~~~~
140 | __uninit_copy(__first, __last, __result);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
99 | __uninit_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:101:27: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
101 | { return std::copy(__first, __last, __result); }
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h: In static member function ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<double*>; _ForwardIterator = double*]’:
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
99 | __uninit_copy(_InputIterator __first, _InputIterator __last,
| ^~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_uninitialized.h:99:9: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_uninitialized.h:101:27: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
101 | { return std::copy(__first, __last, __result); }
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/9/algorithm:61,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:29,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
465 | copy(_II __first, _II __last, _OI __result)
| ^~~~
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
/usr/include/c++/9/bits/stl_algobase.h:474:7: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
473 | return std::__copy_move_a2<__is_move_iterator<_II>::__value>
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
474 | (std::__miter_base(__first), std::__miter_base(__last), __result);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_algobase.h: In function ‘_OI std::copy(_II, _II, _OI) [with _II = std::move_iterator<double*>; _OI = double*]’:
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
465 | copy(_II __first, _II __last, _OI __result)
| ^~~~
/usr/include/c++/9/bits/stl_algobase.h:465:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
In file included from /usr/include/c++/9/bits/stl_algobase.h:61,
from /usr/include/c++/9/algorithm:61,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:29,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/cpp_type_traits.h: In function ‘_Iterator std::__miter_base(_Iterator) [with _Iterator = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >]’:
/usr/include/c++/9/bits/cpp_type_traits.h:428:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
428 | __miter_base(_Iterator __it)
| ^~~~~~~~~~~~
In file included from /usr/include/c++/9/algorithm:61,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:29,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/stl_algobase.h: In function ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const double*, std::vector<double> >; _OI = double*]’:
/usr/include/c++/9/bits/stl_algobase.h:438:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
438 | __copy_move_a2(_II __first, _II __last, _OI __result)
| ^~~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_algobase.h:438:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
In file included from /usr/include/c++/9/bits/stl_algobase.h:67,
from /usr/include/c++/9/algorithm:61,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.h:29,
from /home/admin/git_ws/dccl/src/arithmetic/field_codec_arithmetic.cpp:25:
/usr/include/c++/9/bits/stl_iterator.h: In function ‘decltype (std::__miter_base(__it.base())) std::__miter_base(std::move_iterator<_IteratorL>) [with _Iterator = double*]’:
/usr/include/c++/9/bits/stl_iterator.h:1259:5: note: parameter passing for argument of type ‘std::move_iterator<double*>’ changed in GCC 7.1
1259 | __miter_base(move_iterator<_Iterator> __it)
| ^~~~~~~~~~~~
/usr/include/c++/9/bits/stl_iterator.h: In function ‘_Iterator std::__niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container>) [with _Iterator = const double*; _Container = std::vector<double>]’:
/usr/include/c++/9/bits/stl_iterator.h:1007:5: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<const double*, std::vector<double> >’ changed in GCC 7.1
1007 | __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
| ^~~~~~~~~~~~
dccl_test_units/test.cpp
[ 69%] Building CXX object src/test/dccl_units/CMakeFiles/dccl_test_units.dir/test.cpp.o
In file included from /home/admin/git_ws/dccl/src/test/dccl_units/test.cpp:30:
/usr/include/boost/units/io.hpp: In function ‘constexpr bool boost::units::detail::find_matching_scale_impl(End, End, Prev, T, double, F) [with End = boost::units::dimensionless_type; Prev = boost::units::scale<2, boost::units::static_rational<90> >; T = double; F = boost::units::detail::print_scale_t<std::basic_ostream<char> >]’:
/usr/include/boost/units/io.hpp:695:6: note: parameter passing for argument of type ‘boost::units::scale<2, boost::units::static_rational<90> >’ changed in GCC 7.1
695 | bool find_matching_scale_impl(End, End, Prev, T, double, F)
| ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/boost/units/io.hpp: In function ‘constexpr bool boost::units::detail::find_matching_scale_impl(End, End, Prev, T, double, F) [with End = boost::units::dimensionless_type; Prev = boost::units::scale<2, boost::units::static_rational<90> >; T = int; F = boost::units::detail::print_scale_t<std::basic_ostream<char> >]’:
/usr/include/boost/units/io.hpp:695:6: note: parameter passing for argument of type ‘boost::units::scale<2, boost::units::static_rational<90> >’ changed in GCC 7.1
/usr/include/boost/units/io.hpp: In function ‘constexpr bool boost::units::detail::find_matching_scale_impl(End, End, Prev, T, double, F) [with End = boost::units::dimensionless_type; Prev = boost::units::scale<10, boost::units::static_rational<27> >; T = double; F = boost::units::detail::print_scale_t<std::basic_ostream<char> >]’:
/usr/include/boost/units/io.hpp:695:6: note: parameter passing for argument of type ‘boost::units::scale<10, boost::units::static_rational<27> >’ changed in GCC 7.1
/usr/include/boost/units/io.hpp: In function ‘constexpr bool boost::units::detail::find_matching_scale_impl(End, End, Prev, T, double, F) [with End = boost::units::dimensionless_type; Prev = boost::units::scale<10, boost::units::static_rational<27> >; T = int; F = boost::units::detail::print_scale_t<std::basic_ostream<char> >]’:
/usr/include/boost/units/io.hpp:695:6: note: parameter passing for argument of type ‘boost::units::scale<10, boost::units::static_rational<27> >’ changed in GCC 7.1
Is this actually causing issues or just warnings related to the ABI change?
@tsaubergine - Just warnings.
Just ignore the warnings with -Wno-psabi if you can ensure all of your libraries are built with at least gcc=7.1.
Feel free to suppress them and close this.
Likely related to #114, but separating issues due to different architecture.
On an
armhf
platform running Ubuntu 20.04, compiling the latest4.0
repository and runningctest
has the following failures:Which have summary
asan
outputs of:For
dccl_test_dynamic_conditions_v4
, this is multiples of:For the rest:
The lack of tracing points to the common
dlopen/dlclose
bug thatasan
has had for, oh, 7 years.@tsaubergine - Any thoughts on #114 or this?