This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: fixes for type-punning warnings in GCC 4.1


On Tue, Dec 20, 2005 at 12:10:00AM +0200, Eli Zaretskii wrote:
> > From: Alexandre Oliva <aoliva@redhat.com>
> > Date: Mon, 19 Dec 2005 17:20:48 -0200
> > 
> > This patch fixes the type-punning warnings that the GCC 4.1 branch
> > issues when compiling the GDB code base.
> > [...]
> > -	num = sscanf (p, "%g%s", (float *) &putithere->typed_val_float.dval,s);
> > +	num = sscanf (p, "%g%s", (float *) (void *) &putithere->typed_val_float.dval,s);
> 
> If this is the fix, then forgive me, but I'd prefer not to fix it at
> all, 'cause it's so UUUGLYYYY!  If we can use some command-line switch
> to GCC to shut it up, let's do that instead.  Failing that, let's just
> leave the code alone, so that GCC's continued whining stands as a token
> of our unappreciation to compilers that should have known better!

I really can't agree; the code GCC's warning about here is pretty
disgusting to start with, and this warning is a very valuable service
of GCC for C conformance.

We should fix it properly, in any case.  The right solution here is
pretty apparent: delete the "float" case, and #define appropriate
format characters for DOUBLEST in doublest.h, in the same place we
typedef DOUBLEST.  Just like GCC's HOST_WIDE_INT_PRINT.

-- 
Daniel Jacobowitz
CodeSourcery, LLC


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