This is the mail archive of the gcc-prs@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]
Other format: [Raw text]

Re: libgcj/4616: Floating Point Math class problem on Tru64 Alpha v 5.1


The following reply was made to PR libgcj/4616; it has been noted by GNATS.

From: Craig Rodrigues <rodrigc@mediaone.net>
To: gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, ake@purdue.edu,
   java@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org,
   java-prs@gcc.gnu.org
Cc:  
Subject: Re: libgcj/4616: Floating Point Math class problem on Tru64 Alpha v 5.1
Date: Sat, 05 Jan 2002 15:54:36 -0500

 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=4616
 
 
 
 The following was submitted by ake@purdue.edu, but ended up in the wrong
 PR.
 Do not change the format of the subject line when CC:'ing messages to
 GNATS.
 
 ===============================================================
 
  Hello, These  are the results of the C program:
  Argument arg is 3.780800e+02
  Argument y is 1.577821e+164
  Argument x is 1.797693e+308
  Argument result is 1.755384e-144
  BUT if x=y=overflow, this is the result:
  Argument arg is 9.000000e+02
  Argument y is 1.797693e+308
  Argument x is 1.797693e+308
  Floating point exception (core dumped)
 
  More testing on Alpha and Java showed this:
  If arg >=261 the program is STALLED. No floating core dump, and it
  doesn't execute the print of "x":
  Argument arg is 261.0 Argument y is 2.2431575451828986E113
 
  Regards
 
  On Fri, 19 Oct 2001, Andrew Haley wrote:
 
  > ake@purdue.edu writes:
  >  > >Category:       libgcj
  >  > >Synopsis:       Floating Point Math class problem on Tru64 Alpha
 v 5.1
  >  > >Confidential:   no
  >  > >Severity:       serious
  >  > >Priority:       medium
  >  > >Class:          sw-bug
  >  > >Submitter-Id:   net
  >  > >Originator:     Antonio Ake
  >  > >Release:        3.0.2 prerelease
  >  > >Environment:
  >  > TRu64 Unix v 5.1
  >  > >Description:
  >  > his is the part of the code executing:
  >  >    public static double d1f (double arg) {
  >  >       double y,x;
  >  >
  >  >          System.out.print("Argument arg is " + arg + " ");
  >  >    y= Math.exp(arg);
  >  >    System.out.print("Argument y is " + y + " ");
  >  >    x=Math.pow((y+1.0),2.0);
  >  >    System.out.print("Argument x is " + x + "\n");
  >  >    return ( (2.0 * y)/x );
  >  > }
  >  > The problem is when x is infinity.
  >  > Argument arg is 378.0812928461101
  >  > Var y is 1.5798621479294393E164
  >  > Var  x is Infinity
  >  > Floating point exception (core dumped)
  >  > I tested on Linux x/86 and it is working, the problem is on Tru64
 Unix
  >
  > Fascianting.  It looks as though floating-point exceptions trigger a
  > signal on this system.  I've never come across a system which does
  > this before.
  >
  > Can you please write a trivial C program that does the same thing and
 
  > see if it also results in a Floating point exception?
  >
  > Thanks,
  > Andrew.
  >
 
 


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