]> granicus.if.org Git - postgresql/commitdiff
Put back our old workaround for machines that declare cbrt() in math.h but
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 4 Mar 2009 22:08:53 +0000 (22:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 4 Mar 2009 22:08:53 +0000 (22:08 +0000)
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.

src/backend/utils/adt/float.c

index 9f0fa0de32d2e971588841c72935cb8404b66d97..7a115371c959ecfbdcf30f8764bbc4347f7c35fe 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.94 2003/09/25 06:58:03 petere Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/utils/adt/float.c,v 1.94.2.1 2009/03/04 22:08:53 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 
 #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 */