[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: [Axiom-developer] GCC/GCL warning messages
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: [Axiom-developer] GCC/GCL warning messages |
Date: |
05 Mar 2007 13:46:50 -0500 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
Gabriel Dos Reis <address@hidden> 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:
`-O2' turns on all optimization flags specified by `-O'. It also
turns on the following optimization flags:
-fforce-mem
-foptimize-sibling-calls
-fstrength-reduce
-fcse-follow-jumps -fcse-skip-blocks
-frerun-cse-after-loop -frerun-loop-opt
-fgcse -fgcse-lm -fgcse-sm
-fdelete-null-pointer-checks
-fexpensive-optimizations
-fregmove
-fschedule-insns -fschedule-insns2
-fsched-interblock -fsched-spec
-fcaller-saves
-fpeephole2
-freorder-blocks -freorder-functions
-fstrict-aliasing
-falign-functions -falign-jumps
-falign-loops -falign-labels
Still can't reproduce any aliasing warnings with gcl 2.6.8pre and gcc
4.1.2. Could someone please tell me what I'm missing?
Take care,
> -- Gaby
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah