[Bug middle-end/61409] [4.9/5 regression] -Wmaybe-uninitialized false-positive with -O2

law at redhat dot com gcc-bugzilla@gcc.gnu.org
Thu Feb 12 23:54:00 GMT 2015


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61409

--- Comment #11 from Jeffrey A. Law <law at redhat dot com> ---
Sigh.  We can't do the propagation, even if we recognize the mw_9 default
definition represents an undefined value -- because doing so would result in a
use that is not dominated by its def.

We could do duplication and essentially create

if (mini_p)
  {
    long int a = make_window ();
    if (!PSEUDOVECTORP (a)) return rw;
    mw  = (void*) a - 5;
    rw->pixel_width = ((rw->text_cols * (rw->column_width))
                     + (rw->left_fringe_width + (rw->right_fringe_width)) + 2 *
(rw->internal_border_width));
    rw->pixel_height = ((rw->text_cols * (rw->line_height)));
    mw->pixel_height = rw->pixel_height;
  }
else
  {
    rw->pixel_width = ((rw->text_cols * (rw->column_width))
                     + (rw->left_fringe_width + (rw->right_fringe_width)) + 2 *
(rw->internal_border_width));
    rw->pixel_height = ((rw->text_cols * (rw->line_height)));
  }


And in fact, that's precisely what the code to handle joiner blocks in the jump
threader is supposed to do...   Hmmm, this might be mine...



More information about the Gcc-bugs mailing list