wrong code generated

wrong code generated

The program enclosed as an attachment gives segmentation fault error using the newest version of the Intel icc compiler on the Pentium (not on PentiumII/III/4) processor based platform.
(SuSE Linux 8.2, Kernel 2.4.20, glibc 2.3)

Below I enclosed the compilation command, execution command
and Intel debugger session respectively.

test> icc -V -mcpu=pentium -g sin_test.c
Intel C++ Compiler for 32-bit applications, Version 8.0 Build 20040716Z Package ID: l_cc_pc_8.0.066_pe070.1
Copyright (C) 1985-2004 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY

Edison Design Group C/C++ Front End, version 3.2 (Jul 17 2004 11:23:20)
Copyright 1988-2003 Edison Design Group, Inc.

GNU ld version 2.13.90.0.18 20030121 (SuSE Linux)
Supported emulations:
elf_i386
i386linux
elf_x86_64

test> a.out
Segmentation fault

test> idb a.out
Linux Application Debugger for 32-bit applications, Version 7.3.2, Build 20031209
------------------
object file name: a.out
Reading symbolic information from a.out...done
(idb) r
Thread received signal SEGV
WARNING: Subrange with non-literal bounds is NYI
stopped at [Assertion failed: tfa src/st/file/parsesymsdwarf2.C 6615
This is an unexpected condition and may indicate the presence of a defect.
If you wish to report this, please include the stack trace that follows.
Do not know how to unwind a stack on this machine!!
(idb) cont
Thread received signal SEGV
stopped at [main:29 0x80488c2]
29 xx = fp32bits*rand()/RAND_MAX;
(idb)

Regards,
Alberti

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.