Re: cleanup of cbrt() handling

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: cleanup of cbrt() handling
Date: 2003-05-25 14:57:11
Message-ID: 5575.1053874631@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> #ifndef HAVE_CBRT
> #define cbrt my_cbrt
> static double cbrt(double x);

> #else
> #if !defined(nextstep)
> extern double cbrt(double x);
> #endif
> #endif /* HAVE_CBRT */

> There is no my_cbrt() function, meaning anyone who didn't have cbrt
> couldn't have even compiled 7.3, so I think we should just remove
> cbrt,

No, you're misreading the point of the code. The #define changes the
spelling of the static declaration. The idea evidently is to make sure
that there is no conflict of the static function against a library
cbrt(), on the off chance that configure missed finding it somehow.
This might be overly tricky --- certainly we do not take comparable
precautions for other library-substitute functions. I wouldn't object
to removing the "#define cbrt my_cbrt". But you have *no* proof that
removing the whole thing won't break some supported platform.

regards, tom lane

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2003-05-25 15:02:01 Re: updated win32 patch
Previous Message Bruce Momjian 2003-05-25 14:06:11 Re: cleanup of cbrt() handling