This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/25745] New: Nearly drove me crazy!
- From: "jasun202002 at yahoo dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 11 Jan 2006 04:53:22 -0000
- Subject: [Bug c/25745] New: Nearly drove me crazy!
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
the 50- line .c source was compiled on vc++ 6 and ran without any errors (gave
needed results) but when compiled on gcc 4.0.1-5mdk i get a wicked logic error!
It nearly drove me crazy man! Below are the gcc specs... if u don't understand
this bug look at the plaing text source below (its only 50+ lines).
Using built-in specs.
Target: i586-mandriva-linux-gnu
Configured with: ../configure --prefix=/usr --libexecdir=/usr/lib
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info
--enable-shared --enable-threads=posix --disable-checking
--enable-languages=c,c++,ada,f95,objc,java --host=i586-mandriva-linux-gnu
--with-system-zlib --enable-long-long --enable-__cxa_atexit
--enable-clocale=gnu --disable-libunwind-exceptions --enable-java-awt=gtk
--with-java-home=/usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre --enable-gtk-cairo
--disable-libjava-multilib
Thread model: posix
/*calculates mathematical constant e raised to the x power */
#include <stdio.h>
int main()
{
short int x = 13, ov_increm = 1, y;
double xPCount=0.000000;
double fc_cum=1.000000;
double k_e=1.000000; /* this already takes care of the first '1' in the
formula */
/*this prints the value of variable ov_increm...which gives 1*/
printf("%hd\n", ov_increm);
while( x > 12) {
printf("Enter a value (<=12, >=1) for which to calculate the exponent:
");
scanf("%d",&x);
y=x;
while ( y
<= 0) {
printf("Enter a value (<=12, >=1) for which to calculate the
exponent: ");
scanf("%d",&y);
}
x=y;
}
/*note that this variable is initialized in the declaration to 1... but it
prints 0 here*/
printf("%hd\n", ov_increm);
while( ov_increm <= 12 ) {
fc_cum = fc_cum * ov_increm;
xPCount=(double)1;
y = 1;
while( y <= ov_increm ) {
xPCount = xPCount * x;
y++;
}
k_e = k_e + (xPCount/fc_cum);
ov_increm++;
}
printf("\nThe value of mathematical constant 'e',\nraised to the power %d
is:%20.12f\n\n", x, k_e);
return 0;
}
--
Summary: Nearly drove me crazy!
Product: gcc
Version: 4.0.1
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jasun202002 at yahoo dot com
GCC build triplet: 4.0.1-5mdk for Mandriva Linux release 2006.0
GCC host triplet: gcc version 4.0.1
GCC target triplet: i586-mandriva-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25745