[Bug math/13879] New: powl (0.0, -LDBL_MAX) raises spurious overflow exception
jsm28 at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Tue Mar 20 18:02:00 GMT 2012
http://sourceware.org/bugzilla/show_bug.cgi?id=13879
Bug #: 13879
Summary: powl (0.0, -LDBL_MAX) raises spurious overflow
exception
Product: glibc
Version: 2.15
Status: NEW
Severity: normal
Priority: P2
Component: math
AssignedTo: unassigned@sourceware.org
ReportedBy: jsm28@gcc.gnu.org
Classification: Unclassified
On both x86 and x86_64, powl (0.0, -LDBL_MAX) raises a spurious overflow
exception (likewise with -0.0). Testcase:
#include <errno.h>
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <float.h>
volatile long double d1 = 0.0, d2 = -LDBL_MAX;
int
main (void)
{
feclearexcept (FE_ALL_EXCEPT);
errno = 0;
volatile long double r = powl (d1, d2);
if (fetestexcept (FE_DIVBYZERO))
printf ("DIVBYZERO ");
if (fetestexcept (FE_INEXACT))
printf ("INEXACT ");
if (fetestexcept (FE_INVALID))
printf ("INVALID ");
if (fetestexcept (FE_OVERFLOW))
printf ("OVERFLOW ");
if (fetestexcept (FE_UNDERFLOW))
printf ("UNDERFLOW ");
printf ("%.18Lg %m\n", r);
return 0;
}
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list