This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH][genrecog] Fix warning about potentially uninitialised use of label


Kyrill Tkachov <kyrylo.tkachov@foss.arm.com> writes:
> Hi all,
>
> I'm getting a warning when building genrecog that 'label' may be used
> uninitialised in:
>
>        uint64_t label = 0;
>
>        if (d->test.kind == rtx_test::CODE
>        && d->if_statement_p (&label)
>        && label == CONST_INT)
>
> This is because if_statement_p looks like this:
>   inline bool
>   decision::if_statement_p (uint64_t *label) const
>   {
>     if (singleton () && first->labels.length () == 1)
>       {
>         if (label)
>           *label = first->labels[0];
>         return true;
>       }
>     return false;
>   }
>
> It's not guaranteed to write label.

It is guaranteed to write to label on a true return though, so it looks
like a false positive.  Is current GCC warning for this or are you using
an older host compiler?

Thanks,
Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]