Hello! I've got a project which - when compiled with "arm-none-eabi" GCC 7.1 without optimizations - produces quite a lot of such messages:
-- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- In file included from ../../include/distortos/internal/scheduler/SoftwareTimerList.hpp:17:0, from ../../include/distortos/internal/scheduler/SoftwareTimerSupervisor.hpp:15, from SoftwareTimerSupervisor.cpp:12: ../../include/estd/SortedIntrusiveList.hpp: In static member function 'static estd::SortedIntrusiveList<Compare, T, NodePointer, U>::iterator estd::SortedIntrusiveList<Compare, T, NodePointer, U>::erase(estd::SortedIntrusiveList<Compare, T, NodePointer, U>::iterator) [with Compare = distortos::internal::SoftwareTimerAscendingTimePoint; T = distortos::internal::SoftwareTimerListNode; estd::IntrusiveListNode T::* NodePointer = &distortos::internal::SoftwareTimerListNode::node; U = distortos::internal::SoftwareTimerControlBlock]': ../../include/estd/SortedIntrusiveList.hpp:257:18: note: parameter passing for argument of type 'const iterator {aka const estd::IntrusiveListIterator<distortos::internal::SoftwareTimerListNode, &distortos::internal::SoftwareTimerListNode::node, distortos::internal::SoftwareTimerControlBlock>}' changed in GCC 7.1 static iterator erase(const iterator position) ^~~~~ ... In file included from /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/bits/stl_algobase.h:71:0, from /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/bits/char_traits.h:39, from /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/ios:40, from /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/ostream:38, from /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/iterator:64, from ../../include/estd/IntrusiveList.hpp:15, from ../../include/distortos/internal/scheduler/SoftwareTimerListNode.hpp:17, from ../../include/distortos/internal/scheduler/SoftwareTimerList.hpp:15, from ../../include/distortos/internal/scheduler/SoftwareTimerSupervisor.hpp:15, from SoftwareTimerSupervisor.cpp:12: /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/bits/predefined_ops.h: In member function 'bool __gnu_cxx::__ops::_Iter_pred<_Predicate>::operator()(_Iterator) [with _Iterator = estd::IntrusiveListIterator<distortos::internal::SoftwareTimerListNode, &distortos::internal::SoftwareTimerListNode::node, distortos::internal::SoftwareTimerControlBlock>; _Predicate = estd::SortedIntrusiveList<Compare, T, NodePointer, U>::Implementation::findInsertPosition(estd::SortedIntrusiveList<Compare, T, NodePointer, U>::const_reference) [with Compare = distortos::internal::SoftwareTimerAscendingTimePoint; T = distortos::internal::SoftwareTimerListNode; estd::IntrusiveListNode T::* NodePointer = &distortos::internal::SoftwareTimerListNode::node; U = distortos::internal::SoftwareTimerControlBlock]::<lambda(const distortos::internal::SoftwareTimerControlBlock&)>]': /home/freddie/arm-none-eabi-gcc-7.1.0-170503/arm-none-eabi/include/c++/7.1.0/bits/predefined_ops.h:282:2: note: parameter passing for argument of type 'estd::IntrusiveListIterator<distortos::internal::SoftwareTimerListNode, &distortos::internal::SoftwareTimerListNode::node, distortos::internal::SoftwareTimerControlBlock>' changed in GCC 7.1 operator()(_Iterator __it) ^~~~~~~~ -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- >8 -- Some of the messages (like the first one above) are triggered by my code, but some of them (like the second one above) are coming from within libstdc++ headers. As I mentioned earlier, the messages appear only if -O0 is selected - for any other optimization level the messages are gone. The problem here is that I have absolutely no idea what this message is supposed to mean (; Should I somehow fix/change/improve the code? If possible, I would like to change my code so that it doesn't trigger any such notes, as this is very confusing for the users... I tried searching for some more info, but just found a thread on this mailing list with a patch that introduces these messages, however I did not really understand how it relates to my code... Thanks in advance for any info! Regards, FCh