aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-03-04 22:08:46 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-03-04 22:08:46 +0000
commit3694e3ed17dc6bcea3f30f2df03d7e2fc0707ed7 (patch)
treec1d5349deddbcb39dcef5fe666cfbfed217112dd
parentd2fda36128a3e0a8b4698e7783a3710034425f8f (diff)
downloadpostgresql-3694e3ed17dc6bcea3f30f2df03d7e2fc0707ed7.tar.gz
postgresql-3694e3ed17dc6bcea3f30f2df03d7e2fc0707ed7.zip
Put back our old workaround for machines that declare cbrt() in math.h but
fail to provide the function itself. Not sure how we escaped testing anything later than 7.3 on such cases, but they still exist, as per André Volpato's report about AIX 5.3.
-rw-r--r--src/backend/utils/adt/float.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c
index 4804445c32b..bdf246305c4 100644
--- a/src/backend/utils/adt/float.c
+++ b/src/backend/utils/adt/float.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.112 2004/12/31 22:01:21 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.112.4.1 2009/03/04 22:08:46 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -110,6 +110,15 @@ static int float4_cmp_internal(float4 a, float4 b);
static int float8_cmp_internal(float8 a, float8 b);
#ifndef HAVE_CBRT
+/*
+ * Some machines (in particular, some versions of AIX) have an extern
+ * declaration for cbrt() in <math.h> but fail to provide the actual
+ * function, which causes configure to not set HAVE_CBRT. Furthermore,
+ * their compilers spit up at the mismatch between extern declaration
+ * and static definition. We work around that here by the expedient
+ * of a #define to make the actual name of the static function different.
+ */
+#define cbrt my_cbrt
static double cbrt(double x);
#endif /* HAVE_CBRT */