How to trigger warning: 'di' is used uninitialized here

Mathieu Malaterre mathieu.malaterre@gmail.com
Wed Aug 30 12:49:05 GMT 2023


On Wed, Aug 30, 2023 at 2:32 PM Xi Ruoyao <xry111@xry111.site> wrote:
>
> On Wed, 2023-08-30 at 14:25 +0200, Mathieu Malaterre via Gcc-help wrote:
> > Hi all,
> >
> > Consider the following silly c++ code (*), it compiles nicely using
> > g++ 13.2 no warnings using either:
> >
> > % g++  -c -O2 -Wall -Wextra alt.cxx
> >
> > or
> >
> > % g++  -c -O0 -Wall -Wextra alt.cxx
> >
> > Is it possible to trigger a warning for this code (maybe I missed some
> > gcc options) ?
>
> Analyzer does a better job for such a "complex" pattern:
>
> $ gcc -Wall -Wextra t.cc -fanalyzer -S

Cool ! Documentation is somewhat unclear to me as `-fanalyzer` seems
to be required (I cannot simply use
-Wanalyzer-use-of-uninitialized-value) (*)

Could someone confirm that my code cannot trigger one of the
`fsanitize=undefined` logic ? valgrind sees the uninitialised read:

==459913== Conditional jump or move depends on uninitialised value(s)

Thanks again

(*)
https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/Static-Analyzer-Options.html


More information about the Gcc-help mailing list