Greetings!

Gabriel Dos Reis <[EMAIL PROTECTED]> writes:

> [EMAIL PROTECTED] writes:
> 
> | Camm,
> | 
> | I'm building the next Axiom release. During the GCL build I see a large
> | number of messages that read:
> | 
> | gcl_defmacro.c:In function `L12':
> | gcl_defmacro.c:79: warning: dereferencing type-punned pointer will
> |  break strict-aliasing rules
> | 

[ Note:  Back from one month out of office ]

Thanks for the heads up.  I cannot reproduce -- perhaps my gcc is out
of date -- will update to Debian unstable and retry.

> | C99 language semantics now assume that pointers to different types
> | point to different memory locations, which is obvious nonsense, but
> | part of the new standard.
> 
> That statement is obviously untrue. 
> 
> The non-aliasing rule, which has always been there since I don't know
> when -- certainly, it is part of C89, and it is not a C99 invention --
> says that the following is undefined behaviour
> 
>       double z;
>       *(long*)&z = 1;
>       printf ("%g", z);
> 
> That makes perfect sense.  Why would you think it is nonsense?
> 
> | You might want to add -fno-strict-aliasing option to the GCC command line.
> 
> Instead of papering over the incorrectness, I would suggest to fix it.
> 

Agreed.

Take care,

> -- Gaby
> 
> 
> 

-- 
Camm Maguire                                            [EMAIL PROTECTED]
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah


_______________________________________________
Gcl-devel mailing list
Gcl-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/gcl-devel

Reply via email to