On Mon, 5 Mar 2007, Camm Maguire wrote:

| Greetings!
|
| Gabriel Dos Reis <[EMAIL PROTECTED]> writes:
|
| > On Fri, 2 Mar 2007, Camm Maguire wrote:
| >
| > | > | 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.
| >
| > Interestingly, ECL -- another CL implementation with KCL as
| > grandfather -- invokes GCC explicitly with -fstrict-aliasing, e.g. it
| > is explicitly askign the compiler to exploit aliasing rules, when
| > compiling generated C codes.
| >
|
| Great!  Isn't this enabled by -O2 and higher anyway:

Yes, it is in the official release.  Some people prefer to mention it
explicitly, in case their vendor have turned it off by default -- I
think that is the case for some *BSD systems.

[...]

| Still can't reproduce any aliasing warnings with gcl 2.6.8pre and gcc
| 4.1.2.

I saw it many times in the past (notably with some GCC-3.3.x compilers).
I upgraded my OS this week-end and my development machine is not
accessible at this time.  But, I'll post a build log once I'm
back to normal.

-- Gaby


_______________________________________________
Axiom-developer mailing list
Axiom-developer@nongnu.org
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to