[OE-core] [oe-core][PATCH 1/1] puzzles: fix uninitialized variable compiler error

Adrian Bunk bunk at stusta.de
Fri Mar 15 10:43:06 UTC 2019


On Thu, Mar 14, 2019 at 07:25:16PM +0000, Burton, Ross wrote:
> Can we *please* start sending these upstream.  It's not like the
> maintainer isn't responsive.

This would also help to get such patches properly reviewed.

> Ross
> 
> On Thu, 14 Mar 2019 at 19:20, Joe Slater <joe.slater at windriver.com> wrote:
>...
> > +The compiler does not realize that we must go through the while()
> > +loop at least once, so we replace it with a for() loop.
>...
> > +-    n = t->root;
> > +-    while (n) {
> > ++    /*
> > ++     * We know t->root is not NULL.  The logic
> > ++     * to break out of this is at the end of the loop.
> > ++     */
> > ++    for (n = t->root;;) {
>...

This is the second patch this week where I don't see why a "fix" should 
make any difference.

The code immediately above is:

 if (t->root == NULL) {
         ...
         return orig_e;
 )

The submitter did not provide information how to reproduce,
but when I try to reproduce the problem on amd64 it happens
only with -Og (due to puzzles upstream building with -Werror).

This would also explain why such patches suddenly start getting 
submitted - 2 weeks ago DEBUG_OPTIMIZATION was changed from -O to -Og.

-Werror is added after the passed CFLAGS so adding -Wno-error globally
would not help here, but a non-upstreamable patch to remove the -Werror
looks more correct here as a short-term workaround.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



More information about the Openembedded-core mailing list