*** pgsql/src/backend/utils/adt/float.c 2008/01/01 19:45:52 1.153 --- pgsql/src/backend/utils/adt/float.c 2009/03/04 22:08:28 1.153.2.1 *************** *** 8,14 **** * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.152 2007/11/15 21:14:39 momjian Exp $ * *------------------------------------------------------------------------- */ --- 8,14 ---- * * * IDENTIFICATION ! * $PostgreSQL: pgsql/src/backend/utils/adt/float.c,v 1.153 2008/01/01 19:45:52 momjian Exp $ * *------------------------------------------------------------------------- */ *************** static int float4_cmp_internal(float4 a, *** 71,76 **** --- 71,85 ---- 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 */