.\" Modified 1995-08-14 by Arnt Gulbrandsen <agulbra@troll.no>
.\" Modified 2002-07-27 by Walter Harms
.\" (walter.harms@informatik.uni-oldenburg.de)
-.TH POW 3 2008-08-10 "" "Linux Programmer's Manual"
+.TH POW 3 2010-09-12 "" "Linux Programmer's Manual"
.SH NAME
pow, powf, powl \- power functions
.SH SYNOPSIS
.ad l
.BR powf (),
.BR powl ():
-_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE; or
+.RS 4
+_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 600 || _ISOC99_SOURCE ||
+_POSIX_C_SOURCE\ >=\ 200112L;
+.br
+or
.I cc\ -std=c99
-.ad b
+.RE
+.ad
.SH DESCRIPTION
The
.BR pow ()
is set to
.BR ERANGE
(but see BUGS).
-.\" FIXME . glibc 2.8 gives EDOM
A divide-by-zero floating-point exception
.RB ( FE_DIVBYZERO )
is raised.
also conforms to
SVr4, 4.3BSD, C89.
.SH BUGS
-For a pole error,
+In glibc 2.9 and earlier,
.\"
-.\" FIXME . this is as at glibc 2.8; check later if this bug is fixed
-.\" Bug raised: http://sources.redhat.com/bugzilla/show_bug.cgi?id=6776
+.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=6776
+when a pole error occurs,
.I errno
is set to
-.BR EDOM ;
-POSIX.1 says it should be set to
+.BR EDOM
+instead of the POSIX-mandated
.BR ERANGE .
+Since version 2.10,
+.\" or possibly 2.9, I haven't found the source code change
+.\" and I don't have a 2.9 system to test
+glibc does the right thing.
If
.I x