pkgsrc-Users archive

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

Re: libxslt upgrade, please



Joerg Sonnenberger wrote:
> On Sat, Jan 20, 2007 at 03:59:58PM +0100, Christian Biere wrote:
> > Joerg Sonnenberger wrote:
> > > On Sat, Jan 20, 2007 at 03:31:59PM +0100, Christian Biere wrote:
> > > > If there are such warnings, the flag should certainly be used. Even if
> > > > there are no warnings, the flag might still be required because the
> > > > compiler cannot detect all violations.
> > > 
> > > I don't think that is true with GCC 4.1 any longer.
> > 
> > Which part exactly?
> 
> About GCC not detecting all cases when -fstrict-aliasing is active. The
> other part certainly is.

This is from gcc(1):

union a_union {
        int i;
        double d;
};

int main(void)
{
        union a_union t;
        int* ip;

        t.d = 3.0;
        ip = &t.i;
        return *ip;     
}

Even though the manpage says this code might not work as "expected" (whatever
one would expect here), I can't convince it to warn about this.

A common abuse looks more like this:

int main(void)
{
        static char x[100];
        int *ip = (int *)&x;
        return *ip;
}

In this case, the compiler might notice the abuse and generate appropriate code
but if it's not in the same compile unit, this might not be possible.

-- 
Christian



Home | Main Index | Thread Index | Old Index