summaryrefslogtreecommitdiff
path: root/lang/icc/files/patch-include::mathimf.h
diff options
context:
space:
mode:
authorAlexander Leidinger <netchild@FreeBSD.org>2004-01-11 15:32:07 +0000
committerAlexander Leidinger <netchild@FreeBSD.org>2004-01-11 15:32:07 +0000
commit5b75a54ddfee188423807a395d9c9f903e633cb7 (patch)
tree3917f713be239795252d5b9047627e89e21ea114 /lang/icc/files/patch-include::mathimf.h
parentUpdate for the upcomming icc7 and icc (v8). (diff)
Update to 8.0.055.p057.
As Intel uses it's own directory for ifc and icc, we don't conflict with ifc anymore. Because of ABI changes, you have to recompile C++ programs (don't forget stlport-icc). Note that this port is a _work in progress_: - Icc allows to use an already installed libstdc++ from gcc, this doesn't work yet on FreeBSD. Libstdc++ on 4.x is too old, so it's unlikely we can add support for it. The headers of libstdc++ shipping with FreeBSD 5.2-CURRENT use GCCisms not (yet) supported by icc, the hardcoded search path for them also doesn't fit for FreeBSD 5.2-CURRENT. - We've incorporated parts (cxa) of the FreeBSD >= 502101 libc on < 502101 systems. It's tested on 4.x, but not on FreeBSD < 502101. - Not all (new) options (including GCC compatibility) are thoroughly tested. When encountering problems please report to me first instead of directly contacting Intel. Ackknowledgements: - Bradley T Hughes <bhughes@trolltech.com> for PR 59552, it resulted in a modification of our libc (C++ DSO Object Destruction API) we incorporate in the port on < 502101 systems. - Marius Strobl <marius@alchemy.franken.de> for his help with the port (e.g. ld.c, cxa).
Notes
Notes: svn path=/head/; revision=97928
Diffstat (limited to 'lang/icc/files/patch-include::mathimf.h')
-rw-r--r--lang/icc/files/patch-include::mathimf.h385
1 files changed, 385 insertions, 0 deletions
diff --git a/lang/icc/files/patch-include::mathimf.h b/lang/icc/files/patch-include::mathimf.h
new file mode 100644
index 000000000000..9ad90bcd8195
--- /dev/null
+++ b/lang/icc/files/patch-include::mathimf.h
@@ -0,0 +1,385 @@
+--- include/mathimf.h.orig Tue Dec 9 20:32:07 2003
++++ include/mathimf.h Tue Dec 9 20:29:32 2003
+@@ -40,7 +40,7 @@
+ # endif
+ #endif
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ # include <math.h> /* utilize GNU math header */
+ # if defined(fpclassify)
+ # undef fpclassify
+@@ -110,7 +110,7 @@
+ #if defined(_DLL) && (defined(_WIN32) || defined(_WIN64)) /* Windows DLL */
+ # define _LIBIMF_PUBAPI __declspec(dllimport) __cdecl
+ # define _LIBIMF_PUBVAR __declspec(dllimport)
+-#elif defined(__linux__) /* Linux */
++#elif defined(__linux__) || defined(__FreeBSD__) /* Linux || FreeBSD */
+ # define _LIBIMF_PUBAPI /* do not change this line! */
+ # define _LIBIMF_PUBVAR
+ #else /* Windows static */
+@@ -259,7 +259,7 @@
+
+ /* Radian argument trigonometric functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI acos( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI acosf( _LIBIMF_FLOAT __x );
+@@ -289,7 +289,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tanf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI tanl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cot( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cotf( _LIBIMF_FLOAT __x );
+@@ -343,7 +343,7 @@
+
+ /* Hyperbolic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI acosh( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI acoshf( _LIBIMF_FLOAT __x );
+@@ -369,7 +369,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI tanhf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI tanhl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcosh( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE *__psinh, _LIBIMF_DOUBLE *__pcosh );
+ _LIBIMF_EXT _LIBIMF_VOID _LIBIMF_PUBAPI sinhcoshf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__psinh, _LIBIMF_FLOAT *__pcosh );
+@@ -377,13 +377,13 @@
+
+ /* Exponential functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI exp( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI expl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI exp2( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp2f( _LIBIMF_FLOAT __x );
+@@ -393,7 +393,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI exp10f( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI exp10l( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI expm1( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI expm1f( _LIBIMF_FLOAT __x );
+@@ -415,7 +415,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalbnf( _LIBIMF_FLOAT __x, _LIBIMF_INT __n );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI scalbnl( _LIBIMF_XDOUBLE __x, _LIBIMF_INT __n );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI scalbln( _LIBIMF_DOUBLE __x, _LIBIMF_LONGINT __n );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI scalblnf( _LIBIMF_FLOAT __x, _LIBIMF_LONGINT __n );
+@@ -423,19 +423,19 @@
+
+ /* Logarithmic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI logf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI logl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log2( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log2f( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI log2l( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI log10( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI log10f( _LIBIMF_FLOAT __x );
+@@ -457,11 +457,11 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI modff( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT *__iptr );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI modfl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE *__iptr );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Power/root/abs functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI cbrt( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cbrtf( _LIBIMF_FLOAT __x );
+@@ -483,7 +483,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI sqrtf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI sqrtl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI invsqrt( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI invsqrtf( _LIBIMF_FLOAT __x );
+@@ -491,7 +491,7 @@
+
+ /* Error and gamma functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI erf( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI erff( _LIBIMF_FLOAT __x );
+@@ -513,7 +513,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI gammaf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI gammal( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI gamma_r( _LIBIMF_DOUBLE __x, _LIBIMF_INT *__signgam );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI gammaf_r( _LIBIMF_FLOAT __x, _LIBIMF_INT *__signgam );
+@@ -525,7 +525,7 @@
+
+ /* Nearest integer functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI ceil( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI ceilf( _LIBIMF_FLOAT __x );
+@@ -535,19 +535,19 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI floorf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI floorl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI nearbyint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nearbyintf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nearbyintl( _LIBIMF_XDOUBLE __x );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI rint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI rintf( _LIBIMF_FLOAT __x );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI rintl( _LIBIMF_XDOUBLE __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrint( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_LONGINT _LIBIMF_PUBAPI lrintf( _LIBIMF_FLOAT __x );
+@@ -575,7 +575,7 @@
+
+ /* Remainder functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI fmod( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI fmodf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+@@ -585,7 +585,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remainderf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI remainderl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI remquo( _LIBIMF_DOUBLE __x, _LIBIMF_DOUBLE __y, _LIBIMF_INT *__quo );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI remquof( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y, _LIBIMF_INT *__quo );
+@@ -593,7 +593,7 @@
+
+ /* Manipulation functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI significand( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI significandf( _LIBIMF_FLOAT __x );
+@@ -607,7 +607,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nextafterf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI nextafterl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI nexttoward( _LIBIMF_DOUBLE __x, _LIBIMF_XDOUBLE __y );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI nexttowardf( _LIBIMF_FLOAT __x, _LIBIMF_XDOUBLE __y );
+@@ -643,7 +643,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI compoundf( _LIBIMF_FLOAT __x, _LIBIMF_FLOAT __y );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI compoundl( _LIBIMF_XDOUBLE __x, _LIBIMF_XDOUBLE __y );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI j0( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI j0f( _LIBIMF_FLOAT __x );
+@@ -663,7 +663,7 @@
+ _LIBIMF_EXT _LIBIMF_DOUBLE _LIBIMF_PUBAPI yn( _LIBIMF_INT __n, _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI ynf( _LIBIMF_INT __n, _LIBIMF_FLOAT __x );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ #if (__IMFLONGDOUBLE == 64) /* MS compatibility */
+ # define acosdl acosd
+@@ -753,7 +753,7 @@
+
+ /* Complex trigonometric functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccos( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccosf( _LIBIMF_FCOMPLEX __z );
+@@ -783,7 +783,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cargf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI cargl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cis( _LIBIMF_DOUBLE __x );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cisf( _LIBIMF_FLOAT __x );
+@@ -795,13 +795,13 @@
+
+ /* Complex exponential functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexpf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI cexpl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cexp2( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexp2f( _LIBIMF_FCOMPLEX __z );
+@@ -811,7 +811,7 @@
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cexp10f( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI cexp10l( _LIBIMF_XCOMPLEX __z );
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI ccosh( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI ccoshf( _LIBIMF_FCOMPLEX __z );
+@@ -837,17 +837,17 @@
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI catanhf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI catanhl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Complex logarithmic functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clogf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XCOMPLEX _LIBIMF_PUBAPI clogl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI clog2( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI clog2f( _LIBIMF_FCOMPLEX __z );
+@@ -859,7 +859,7 @@
+
+ /* Complex power/root/abs functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI cpow( _LIBIMF_DCOMPLEX __z, _LIBIMF_DCOMPLEX __c );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI cpowf( _LIBIMF_FCOMPLEX __z, _LIBIMF_FCOMPLEX __c );
+@@ -873,11 +873,11 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI cabsf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI cabsl( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ /* Other complex functions */
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+
+ _LIBIMF_EXT _LIBIMF_DCOMPLEX _LIBIMF_PUBAPI conj( _LIBIMF_DCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_FCOMPLEX _LIBIMF_PUBAPI conjf( _LIBIMF_FCOMPLEX __z );
+@@ -895,7 +895,7 @@
+ _LIBIMF_EXT _LIBIMF_FLOAT _LIBIMF_PUBAPI crealf( _LIBIMF_FCOMPLEX __z );
+ _LIBIMF_EXT _LIBIMF_XDOUBLE _LIBIMF_PUBAPI creall( _LIBIMF_XCOMPLEX __z );
+
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+
+ #if (__IMFLONGDOUBLE == 64) /* MS compatibility */
+ # define cabsl cabs
+@@ -949,7 +949,7 @@
+ _LIBIMF_DOUBLE retval;
+ } ___exception;
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ # if defined(__cplusplus)
+ # define __exception ____exception /* map 'struct __exception' to 'struct ____exception' */
+ # else /*__cplusplus*/
+@@ -978,9 +978,9 @@
+ _LIBIMF_XDOUBLE retval;
+ } ___exceptionl;
+
+-#if !defined(__linux__)
++#if !defined(__linux__) && !defined(__FreeBSD__)
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherr( struct ____exception *__e );
+-#endif /*!__linux__*/
++#endif /*!__linux__ && !__FreeBSD__*/
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrf( struct ____exceptionf *__e );
+ _LIBIMF_EXT _LIBIMF_INT _LIBIMF_PUBAPI matherrl( struct ____exceptionl *__e );
+
+@@ -1011,9 +1011,9 @@
+
+ /* Standard conformance support */
+
+-#if defined(__linux__)
++#if defined(__linux__) || defined(__FreeBSD__)
+ typedef _LIB_VERSION_TYPE _LIB_VERSIONIMF_TYPE;
+-#else /*__linux__*/
++#else /*__linux__ || __FreeBSD__*/
+ typedef enum ___LIB_VERSIONIMF_TYPE {
+ _IEEE_ = -1 /* IEEE-like behavior */
+ ,_SVID_ /* SysV, Rel. 4 behavior */
+@@ -1021,7 +1021,7 @@
+ ,_POSIX_ /* Posix */
+ ,_ISOC_ /* ISO C9X */
+ } _LIB_VERSIONIMF_TYPE;
+-#endif /*__linux__*/
++#endif /*__linux__ || __FreeBSD__*/
+
+ _LIBIMF_EXT _LIB_VERSIONIMF_TYPE _LIBIMF_PUBVAR _LIB_VERSIONIMF;
+
+@@ -1047,4 +1047,4 @@
+ }
+ #endif
+
+-#endif /*__MATHIMF_H_INCLUDED*/
+\ No newline at end of file
++#endif /*__MATHIMF_H_INCLUDED*/