On Sat, Mar 9, 2024 at 1:07 AM Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> wrote: > > I don't know if this affects other targets than arm-none-eabi, so I > used arm-*-*. If you think it should be *-*-* or some other target > selector, please let me know what to use instead. > > Ok for releases/gcc-13?
Most likely should be short_enums instead of arm*-*-* (I think the old arm non-eabi didn't use short enums) due to the fix r14-6517-gb7e4a4c626e applies when -fshort-enums is used. Also if you are adding a dg-bogus to the branch, it might makes sense to the same to the trunk (obviously without the xfail part). Also makes sense to add a reference to r14-6517-gb7e4a4c626e to the dg-bogus in the source too. Thanks, Andrew Pinski > > -- > > On arm-none-eabi, the test case fails with > .../null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c:63:65: warning: > converting a packed 'enum obj_type' pointer (alignment 1) to a 'struct > connection' pointer (alignment 4) may result in an unaligned pointer value > [-Waddress-of-packed-member] > > The error was fixed in basepoints/gcc-14-6517-gb7e4a4c626e, but it > was considered to be a too big change to be backported and thus, the > failing test is marked xfail in GCC13. > > gcc/testsuite/ChangeLog: > * gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c: > Added dg-bogus with xfail on offending line for arm-*-*. > > Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> > --- > .../null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git > a/gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c > > b/gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c > index 2a9c715c32c..461d5f1199c 100644 > --- > a/gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c > +++ > b/gcc/testsuite/gcc.dg/analyzer/null-deref-pr108251-smp_fetch_ssl_fc_has_early-O2.c > @@ -60,7 +60,7 @@ static inline enum obj_type obj_type(const enum obj_type *t) > } > static inline struct connection *__objt_conn(enum obj_type *t) > { > - return ((struct connection *)(((void *)(t)) - ((long)&((struct connection > *)0)->obj_type))); > + return ((struct connection *)(((void *)(t)) - ((long)&((struct connection > *)0)->obj_type))); /* { dg-bogus "may result in an unaligned pointer value" > "" { xfail arm-*-* } } */ > } > static inline struct connection *objt_conn(enum obj_type *t) > { > -- > 2.25.1 >