This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

A problem with -ansi?



I found a problem with gcc-2.8.1 on Solaris 2.5 that is based on an old 
posting from Tony Lacey <a.lacey@sheffield.ac.uk> to news:gnu.gcc.bug, 
<199702171551.PAA16907@chive.shef.ac.uk>. In the posting, he gives an example 
code snippet, etest.c that is this one:

#include <stdio.h>
#include <math.h>
 
int main(void)
{
  double  res;
 
  res = erf(0.1);
 
  printf("%f\n", res);
 
} 

I'm not really sure of what's going on, but I'm afraid that someting might be 
working quite that well...

Any comments are greatly appreciated.


-- 
Christian Jvnsson                                   chj@lin.foa.se
Sweden's Defence Research Establishment
Dep't of Communication Systems                      FOA 72



Compiling with gcc-2.8.1, with and without -anis, on Solaris 2.5 give these
two results:

gcc -v -o etest etest.c -lm
Reading specs from /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/specs
gcc version 2.8.1
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/cpp -lang-c -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=8 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) etest.c /var/tmp/cca003SF.i
GNU CPP version 2.8.1 (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/include
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/include
 /usr/include
End of search list.
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/cc1 /var/tmp/cca003SF.i -quiet -dumpbase etest.c -version -o /var/tmp/cca003SF.s
GNU C version 2.8.1 (sparc-sun-solaris2.5) compiled by GNU C version 2.8.1.
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/bin/as -V -Qy -s -o /var/tmp/cca003SF1.o /var/tmp/cca003SF.s
GNU assembler version 980303 (sparc-sun-solaris2.5), using BFD version 2.8.1.0.23
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o etest /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crt1.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crti.o /usr/ccs/lib/values-Xa.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtbegin.o -L/home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1 -L/home/guneri/gnu-980317/sparc-sun-solaris2.5/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/home/guneri/gnu-980317/lib /var/tmp/cca003SF1.o -lm -lgcc -lc -lgcc /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtend.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtn.o
GNU ld version 2.8.2 (with BFD 2.8.1.0.23)
  Supported emulations:
   elf32_sparc

./etest 
0.112463

gcc -v -ansi -o etest etest.c -lm
Reading specs from /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/specs
gcc version 2.8.1
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/cpp -lang-c89 -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=8 -trigraphs -D__STRICT_ANSI__ -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4) -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) etest.c /var/tmp/cca003SP.i
GNU CPP version 2.8.1 (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/include
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/include
 /usr/include
End of search list.
 /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/cc1 /var/tmp/cca003SP.i -quiet -dumpbase etest.c -ansi -ansi -version -o /var/tmp/cca003SP.s
GNU C version 2.8.1 (sparc-sun-solaris2.5) compiled by GNU C version 2.8.1.
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/bin/as -V -Qy -s -o /var/tmp/cca003SP1.o /var/tmp/cca003SP.s
GNU assembler version 980303 (sparc-sun-solaris2.5), using BFD version 2.8.1.0.23
 /home/guneri/gnu-980317/sparc-sun-solaris2.5/bin/ld -V -Y P,/usr/ccs/lib:/usr/lib -Qy -o etest /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crt1.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crti.o /usr/ccs/lib/values-Xc.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtbegin.o -L/home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1 -L/home/guneri/gnu-980317/sparc-sun-solaris2.5/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/home/guneri/gnu-980317/lib /var/tmp/cca003SP1.o -lm -lgcc -lc -lgcc /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtend.o /home/guneri/gnu-980317/lib/gcc-lib/sparc-sun-solaris2.5/2.8.1/crtn.o
GNU ld version 2.8.2 (with BFD 2.8.1.0.23)
  Supported emulations:
   elf32_sparc

./etest
1069128089.000000

Doing the similar thing on RHL 5.0/Intel with binutils-2.8.1.0.28-2 added 
using egcs-980328, I get:

gcc -v -o etest etest.c -lm
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/specs
gcc version egcs-2.91.16 980328 (gcc-2.8.0 release)
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/cpp -lang-c -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=91 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -Di386 -Di586 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -D__i586__ -Asystem(unix) -Acpu(i386) -Amachine(i386) etest.c /tmp/cca08141.i
GNU CPP version egcs-2.91.16 980328 (gcc-2.8.0 release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/i586-pc-linux-gnu/include
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/include
 /usr/include
End of search list.
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/cc1 /tmp/cca08141.i -quiet -dumpbase etest.c -version -o /tmp/cca08141.s
GNU C version egcs-2.91.16 980328 (gcc-2.8.0 release) (i586-pc-linux-gnu) compiled by GNU C version egcs-2.91.16 980328 (gcc-2.8.0 release).
 as -V -Qy -o /tmp/cca081411.o /tmp/cca08141.s
GNU assembler version 980331 (i586-pc-linux-gnu), using BFD version 2.8.1.0.28
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o etest /usr/lib/crt1.o /usr/lib/crti.o /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/crtbegin.o -L/usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16 -L/usr/local/i586-pc-linux-gnu/lib -L/usr/local/lib /tmp/cca081411.o -lm -lgcc -lc -lgcc /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/crtend.o /usr/lib/crtn.o

./etest
0.112463

gcc -v -ansi -o etest etest.c -lm 
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/specs
gcc version egcs-2.91.16 980328 (gcc-2.8.0 release)
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/cpp -lang-c89 -v -undef -D__GNUC__=2 -D__GNUC_MINOR__=91 -trigraphs -D__STRICT_ANSI__ -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux -Asystem(posix) -Di386 -Di586 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -D__i586__ -Asystem(unix) -Acpu(i386) -Amachine(i386) etest.c /tmp/cca08149.i
GNU CPP version egcs-2.91.16 980328 (gcc-2.8.0 release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/include
 /usr/local/i586-pc-linux-gnu/include
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/include
 /usr/include
End of search list.
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/cc1 /tmp/cca08149.i -quiet -dumpbase etest.c -ansi -ansi -version -o /tmp/cca08149.s
GNU C version egcs-2.91.16 980328 (gcc-2.8.0 release) (i586-pc-linux-gnu) compiled by GNU C version egcs-2.91.16 980328 (gcc-2.8.0 release).
 as -V -Qy -o /tmp/cca081491.o /tmp/cca08149.s
GNU assembler version 980331 (i586-pc-linux-gnu), using BFD version 2.8.1.0.28
 /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/ld -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o etest /usr/lib/crt1.o /usr/lib/crti.o /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/crtbegin.o -L/usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16 -L/usr/local/i586-pc-linux-gnu/lib -L/usr/local/lib /tmp/cca081491.o -lm -lgcc -lc -lgcc /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.16/crtend.o /usr/lib/crtn.o

./etest 
1069128089.000000









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