kasjer opened a new pull request, #3435:
URL: https://github.com/apache/mynewt-core/pull/3435

   Depending on optimization and compiler used unit test could produce 
following error:
   repos/apache-mynewt-core/kernel/os/selftest/src/msys_test.c: In function 
‘os_msys_test_setup’: 
repos/apache-mynewt-core/kernel/os/selftest/src/msys_test.c:61:30: error: 
dereferencing type-punned pointer will break strict-aliasing rules 
[-Werror=strict-aliasing]
      61 |     context->mempool_list = *(struct os_mempool_list 
*)&g_os_mempool_list;
         |                              
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
   This is because declaration of extern g_os_mempool_list was taken directly 
from os_mempool.c where this variable is create without specifying type with 
macro STAILQ_HEAD(, os_mempool) that produces:
   
   struct {
       struct os_mempool *stqh_first;
       struct os_mempool **stqh_last;
   } g_os_mempool_list;
   
   while file mempool_list is same structure but with named type. To make 
compiler happy g_os_mempool_list is now of type struct os_mempool_list that has 
same fields and is already declared like this:
   STAILQ_HEAD(os_mempool_list, os_mempool);


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscr...@mynewt.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to