micro-os-plus/micro-os-plus-iii

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

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

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.

To disable the message, use -Wno-psabi with g++.