note: parameter passing for argument of type 'os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread>' changed in GCC 7.1
Closed this issue · 1 comments
ilg-ul commented
While compiling the rtos test-cpp-api.cpp
{
auto th9 = rtos::make_shared<thread> ("th9", func, nullptr);
th9->join ();
}
the 7.1 version of GCC issues:
nerated/micro-os-plus-iii/test/rtos/src/test-cpp-api.cpp"
In file included from /Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/bits/shared_ptr.h:52:0,
from /Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/memory:81,
from /Users/ilg/My Files/MacBookPro Projects/uOS/eclipse-test-projects.git/f4discovery-tests-micro-os-plus/generated/micro-os-plus-iii/include/cmsis-plus/rtos/os-types.h:39,
from /Users/ilg/My Files/MacBookPro Projects/uOS/eclipse-test-projects.git/f4discovery-tests-micro-os-plus/generated/micro-os-plus-iii/include/cmsis-plus/rtos/os-decls.h:1102,
from /Users/ilg/My Files/MacBookPro Projects/uOS/eclipse-test-projects.git/f4discovery-tests-micro-os-plus/generated/micro-os-plus-iii/include/cmsis-plus/rtos/os.h:86,
from ../generated/micro-os-plus-iii/test/rtos/src/test-cpp-api.cpp:19:
/Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/bits/shared_ptr_base.h: In constructor 'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_make_shared_tag, const _Alloc&, _Args&& ...) [with _Alloc = os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread>; _Args = {const char (&)[4], void* (&)(void*), std::nullptr_t}; _Tp = os::rtos::thread; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)0]':
/Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/bits/shared_ptr_base.h:1330:24: note: parameter passing for argument of type 'os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread>' changed in GCC 7.1
__shared_count<_Lp> __count(__ptr, __del, __del._M_alloc);
^~~~~~~
/Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/bits/shared_ptr_base.h: In constructor 'std::__shared_count<_Lp>::__shared_count(_Ptr, _Deleter, _Alloc) [with _Ptr = os::rtos::thread*; _Deleter = std::__shared_ptr<os::rtos::thread, (__gnu_cxx::_Lock_policy)0>::_Deleter<os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread> >; _Alloc = os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread>; __gnu_cxx::_Lock_policy _Lp = (__gnu_cxx::_Lock_policy)0]':
/Users/ilg/opt/gcc-arm-none-eabi-7-2017-q4-major/arm-none-eabi/include/c++/7.2.1/bits/shared_ptr_base.h:609:2: note: parameter passing for argument of type 'os::rtos::memory::allocator_stateless_default_resource<os::rtos::thread>' changed in GCC 7.1
__shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
^~~~~~~~~~~~~~
Finished building: ../generated/micro-os-plus-iii/test/rtos/src/test-cpp-api.cpp
ilg-ul commented
Apparently the message is only a notice that something changed in the ABI, and, if the program is built entirely from sources and does not use binary libraries compiled with older ABI versions, can be safely ignored.
- https://gcc.gnu.org/gcc-7/changes.html
- https://stackoverflow.com/questions/48149323/strange-gcc-warning-when-compiling-qt-project
To disable the message, use -Wno-psabi
with g++.