Vin Shelton writes:
Jerry James <james(a)xemacs.org> writes:
> Vin Shelton <acs(a)xemacs.org> wrote:
>> Frank Jensen <Frank.Jensen(a)hugin.com> writes:
>
> [snip]
>
>> IIRC, this option is no longer needed. We fixed the aliasing problems
>> some time ago in the 21.4 code base.
>
> Errrrr.... Did we? There are still several aliasing problems in
> 21.5.
There could still be lingering problems, but I think we had to fix all
the aliasing problems when we moved from gcc-2.95. I don't believe
there are any aliasing problems in the 21.4 code base and my proof
(admittedly somewhat lame) is that I build without the
-fno-strict-aliasing flag. (What makes this extremely lame, is that I
don't use gcc builds very often.)
>> Nope. Jerry put the ability to check compiler version in awhile ago.
>> My build script specifies a compiler of CC=gcc; I wonder if that makes a
>> difference?
>
> Who, moi? I contributed the checker for icc and icpc last April, but
> the general framework was put together by Valdis Kletnieks, was it not?
Sorry Valdis. In my 1-deep mental stack, the last person to touch
something must have invented it (or at least own it). :-)
> In any case, the info docs for gcc 3.4 say that the -V flag is to run a
> specific version of gcc. To get the version, you're supposed to use
> --version. In fact, that's what configure.in *is* using for gcc. It
> looks like the logic starting at the line that says:
>
> AC_MSG_CHECKING(for compiler version information)
>
> must be slightly awry for Frank's case. The test:
>
> if test "$GCC" = "yes"; then
>
> must be failing for Frank, dropping him into the machine-specific code,
> which results in this code being executed:
>
> *-*-solaris*)
> compiler_version=`$XEMACS_CC -V 2>&1 | head -1`
Actually, I think you're looking at 21.5 sources, Jerry. configure on
21.4 does not use XEMACS_CC and looks like this:
line 16122:
*-*-solaris*)
ccvers=`$CC -V 2>&1 | head -1`
if test ! -z "$ccvers" ; then
echo " Compiler version: $ccvers"
fi
;;
I just checked, and, on one of the 5.8 boxes, if I run configure with
no arguments, and do not pass CC=gcc in the enviroment, here is what
I end up with in Installation:
Compiler version: gcc (GCC) 3.4.3
Frank, is your gcc named something other than "gcc" or something that
would match the shell pattern "gcc*"?
I'm setting CC to the full path of the compiler. This would match a
"*gcc" pattern.
I see that the compilation log contains the following line:
Defining USE_GCC
This happens whether I'm setting CC to just "gcc" or to the full path
of (another) gcc. So there must be some other mechanism that
correctly determines whether we're using gcc or something else.
/Frank