On Sun, 2023-11-19 at 08:13 -0700, Jeff Law wrote: > > > On 11/19/23 00:36, Alexandre Oliva wrote: > > > > On targets that have -fshort-enums enabled by default, the type > > casts > > in the pr108251 analyzer tests warn that the byte-aligned enums may > > not be sufficiently aligned to be a struct connection *. The > > function > > can't know better, the warning is reasonable, the code doesn't > > expected enums to be shorter and less aligned than the struct. > > > > Rather than use -fno-short-enums, I decided to embrace the warning > > on > > targets that have short_enums enabled by default. > > > > However, C++ doesn't issue the warning, because even with > > -fshort-enums, enumeration types are not TYPE_PACKED, and the > > expression is not sufficiently simplified by the C++ front-end for > > check_and_warn_address_or_pointer_of_packed_member to identify the > > insufficiently aligned pointer. So don't expect the warning there. > > > > (I've got followup patches in testing to get the same warnings in > > C++) > > > > Regstrapped on x86_64-linux-gnu, also tested on arm-eabi with > > default > > cpu on trunk, and with tms570 on gcc-13. Ok to install? > > > > > > for gcc/testsuite/ChangeLog > > > > * c-c++-common/analyzer/null-deref-pr108251- > > smp_fetch_ssl_fc_has_early-O2.c: > > Expect "unaligned pointer value" warning on short_enums > > targets, but not in c++. > > * c-c++-common/analyzer/null-deref-pr108251- > > smp_fetch_ssl_fc_has_early.c: > > Likewise. > OK. Hell of a filename for a single test :-)
Sorry about that, I have lots of test names of the form prNNNNNN and wanted something more descriptive. Clearly I overcorrected :) Dave