https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104822

            Bug ID: 104822
           Summary: -Wscalar-storage-order warning for initialization from
                    NULL seems useless
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

#include <stddef.h>

struct S {
  int i;
} __attribute__((scalar_storage_order("big-endian")));

struct S *p = NULL;


This warns on x86:



sso.c:7:15: warning: initialization of ‘struct S *’ from pointer type ‘void *’
with incompatible scalar storage order [-Wscalar-storage-order]
    7 | struct S *p = NULL;
      |               ^~~~


This doesn't seem useful. A null pointer cannot be derferenced, so there is no
chance of undefined behaviour caused by type punning struct T { int i; } as
struct S or vice versa.

Could the warning be suppressed static init of a pointer using NULL?

Reply via email to