[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Is this a gcc problem?



On Tue, 28 Nov 2000, Doug Larrick wrote:

> I have tracked down a problem I've been seeing with gtk apps for quite
> some time, where certain windows don't display properly... see
> http://jekyl.ddts.net/~doug/control-center-1.jpg for an example.  The
> problem is in the GtkHPaned widget, specifically in how it calculates
> a particular subwidget's size.  However, the problem appears to be one
> of code generation rather than a problem with the source.  Here's the
> relevant snippet, from gtk/gtkhpaned.c in libgtk1.2, near line 219
> (the #if'd out part is the original; the #else part is my replacement):

Thanks for looking into this.  It's been on my "list of stuff to look
at" for weeks now, but the C++ multiple inheritance stuff has superceded
it :-(

I believe that you're correct that the code is being misgenerated.  It's
quite possible that it's an optimiser bug (yet again).  I'll try to
compile GTK again without any optimisation and see if it helps.  If so,
I'll do a binary NMU on it and put it on my list of "stuff to compile
without optimisation" :-P

> The interesting thing to note is that child2_allocation looks like
> this:
>   struct GtkAllocation
>    {
>      gint16 x;
>      gint16 y;
>      guint16 width;
>      guint16 height;
>    };
> 
> This looks like a gcc bug (and a bad one) to me.  The two values
> printf'd out are nearly always different.

I'm wondering if the bug is related to the casting.  Either way, if no
optimisation fixes it, I wouldn't bother submitting it as a bug unless the
newer gcc snapshot exhibits the same behaviour (sooooooo many changes have
been made to gcc between 2.95.2 and now).  I don't think we're far away
from gcc 3.0, but there's no guarantee of that.

> I am going to try to narrow this down to a good test case and submit a
> bug against gcc, but first I'm wondering if it rings a bell with
> anyone?

Well, at least I know that Rich Payne and I aren't alone in seeing this
:-P  I'm also glad that you took the initiative and looked at the problem
(big thanks for that).

C



Reply to: