diff --git a/src/backend/utils/adt/float.c b/src/backend/utils/adt/float.c index 81d724e499e..0326544d47b 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.130.2.1 2007/09/19 22:31:51 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.130.2.2 2009/03/04 22:08:34 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 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 */