<p align="left">Dear Sir:</p><p align="left">&nbsp;</p><p align="left">Thank you very much for your kind answer. As son as I have time to build SpecFEM3DGlobe with your new C file, I will be in touch with you again to let you know how it works. Please may I tell you that Mac hardware is Core 2 Duo with an Intel processor. Again, I built OpenMPI myself to enable Fortran compilation with parallellism taht is not provided by Apple (but CC, C++/CXX).</p><p align="left">&nbsp;</p><p align="left">Besides, please find enclosed a copy of a GCC manual that helped me to fix the &quot;bug&quot; with Mac OS X. Hereafter, you will find a short appendix about the section I found relevant some days ago.</p><p align="left">&nbsp;</p><p align="left">Next step will be to test your software.</p><p align="left">&nbsp;</p><p align="left">Again, thank you very much.</p><p align="left">Hoping you a good receipt.</p><p align="left">&nbsp;</p><p align="left">Kind regards,</p><p align="left">&nbsp;</p><p align="left">&nbsp;</p><p align="left"><br />&nbsp;</p><p>Laurent Delphin, Dunkerque (EU)</p><p><strong>LDVenture</strong> </p><p>&nbsp;</p><p><em>Space Systems, Sustainable Life, &amp; Ecosystems Advisor</em></p><p><em>Research, Survey, Design, &amp; Management</em></p><p align="left">&nbsp;</p><p align="left">&nbsp;</p><p align="left">#=======================================================================</p><p align="left">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p><p align="left">#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; APPENDIX</p><p align="left">&nbsp;</p><font face="CMBX12" size="5"><font face="CMBX12" size="5"><p align="left">5.49 Other built-in functions provided by GCC</p></font></font><font face="CMR10" size="3"><font face="CMR10" size="3"><p align="left">GCC provides a large number of built-in functions other than the ones mentioned above.</p><p align="left">Some of these are for internal use in the processing of exceptions or variable-length argument</p><p align="left">lists and will not be documented here because they may change from time to time; we do</p><p align="left">not recommend general use of these functions.</p><p align="left">The remaining functions are provided for optimization purposes.</p><p align="left">GCC includes built-in versions of many of the functions in the standard C library. The</p><p align="left">versions prefixed with <font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_ </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">will always be treated as having the same meaning as <p align="left">the C library function even if you specify the &lsquo;<font face="CMTT10" size="3"><font face="CMTT10" size="3">-fno-builtin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; option. (see </font></font><font face="CMR10" size="3" color="#5f0000"><font face="CMR10" size="3" color="#5f0000"><font face="CMR10" size="3" color="#5f0000">Section 3.4 [C <p align="left">Dialect Options], page 27<font face="CMR10" size="3"><font face="CMR10" size="3">) Many of these functions are only optimized in certain cases; if <p align="left">they are not optimized in a particular case, a call to the library function will be emitted.</p><p align="left">&nbsp;</p><p align="left"><strong>Outside strict ISO C mode (&lsquo;</strong><strong><font face="CMTT10" size="3"><font face="CMTT10" size="3">-ansi</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo;, &lsquo;</font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">-std=c89</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; or &lsquo;</font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">-std=c99</font></font></strong><font face="CMR10" size="3"><font face="CMR10" size="3"><strong>&rsquo;),</strong> <strong>the functions</strong> </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">_exit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p></font></font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">alloca<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">bcmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">bzero</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">dcgettext</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">dgettext</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">dremf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">dreml</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">drem</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp10f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp10l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp10</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">ffsll<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ffsl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ffs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fprintf_unlocked</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fputs_unlocked</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gammaf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gammal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gamma</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gammaf_ <p align="left">r<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gammal_r</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gamma_r</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">gettext</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">index</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isascii</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j0f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j0l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j0</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j1f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j1l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">j1</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">jnf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">jnl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">jn</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">lgammaf_r<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lgammal_r</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lgamma_r</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">mempcpy</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">pow10f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">pow10l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">pow10</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">printf_unlocked</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">rindex<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalbf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalbl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalb</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">signbit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">signbitf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">signbitl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">signbitd32</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">signbitd64</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">signbitd128<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">significandf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">significandl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">significand</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sincosf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sincosl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sincos</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">stpcpy<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">stpncpy</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><strong><font face="CMTT10" size="3"><font face="CMTT10" size="3">strcasecmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strdup</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strfmon</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strncasecmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strndup</font></font></strong><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">toascii</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">y0f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">y0l<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">y0</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">y1f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">y1l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">y1</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ynf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ynl </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">yn </font></font><font face="CMR10" size="3"><font face="CMR10" size="3"><strong>may be handled as built-in functions</strong>. All these <p align="left">functions have corresponding versions prefixed with <font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, which may be used even <p align="left">in strict C89 mode.</p><p align="left">&nbsp;</p><p align="left">The ISO C99 functions <font face="CMTT10" size="3"><font face="CMTT10" size="3">_Exit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">acoshf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">acoshl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">acosh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asinhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asinhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asinh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">atanhf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atanhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atanh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cabsf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cabsl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cabs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cacosf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cacoshf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cacoshl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cacosh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cacosl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">cacos<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cargf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cargl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">carg</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casinf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casinhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casinhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casinh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casinl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">casin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">catanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">catanhf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">catanhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">catanh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">catanl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">catan</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cbrtf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cbrtl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cbrt</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ccosf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ccoshf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ccoshl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">ccosh<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ccosl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ccos</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cexpf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cexpl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cexp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cimagf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cimagl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cimag</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">clogf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">clogl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">clog</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">conjf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">conjl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">conj</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">copysignf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">copysignl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">copysign</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cpowf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cpowl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cpow</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cprojf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, <p align="left">356 Using the GNU Compiler Collection (GCC)</p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">cprojl<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cproj</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">crealf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">creall</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">creal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csinf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csinhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csinhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csinh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csinl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">csqrtf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csqrtl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">csqrt</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctanhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctanhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctanh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctanl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ctan</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">erfcf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">erfcl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">erfc<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">erff</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">erfl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">erf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp2f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp2l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp2</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">expm1f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">expm1l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">expm1</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fdimf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fdiml</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fdim</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">fmaf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmaxf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmaxl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmax</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fma</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fminf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fminl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">hypotf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">hypotl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">hypot</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">ilogbf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ilogbl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ilogb</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">imaxabs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isblank</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswblank</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lgammaf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lgammal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lgamma</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llabs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">llrintf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llrintl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llrint</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llroundf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llroundl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">llround</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log1pf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log1pl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log1p</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">log2f<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log2l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log2</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">logbf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">logbl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">logb</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lrintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lrintl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lrint</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lroundf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">lroundl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">lround<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nearbyintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nearbyintl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nearbyint</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nextafterf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nextafterl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nextafter</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">nexttowardf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nexttowardl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">nexttoward</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">remainderf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">remainderl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">remainder</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">remquof</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">remquol<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">remquo</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">rintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">rintl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">rint</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">roundf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">roundl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">round</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalblnf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalblnl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">scalbln<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalbnf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalbnl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scalbn</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">snprintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tgammaf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tgammal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tgamma</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">truncf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">truncl<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">trunc</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vfscanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vscanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vsnprintf </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vsscanf </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">are handled as built-in <p align="left">functions except in strict ISO C90 mode (&lsquo;<font face="CMTT10" size="3"><font face="CMTT10" size="3">-ansi</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; or &lsquo;</font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">-std=c89</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo;).</font></font></p></font></font></p></font></font><p align="left"><font face="CMR10" size="3"><font face="CMR10" size="3"><p align="left">There are also built-in versions of the ISO C99 functions <font face="CMTT10" size="3"><font face="CMTT10" size="3">acosf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">acosl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asinf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asinl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">atan2f<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atan2l</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atanl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ceilf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ceill</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cosf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">coshf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">coshl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cosl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">expf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">expl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">fabsf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fabsl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">floorf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">floorl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmodf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmodl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">frexpf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">frexpl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ldexpf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ldexpl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log10f</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">log10l<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">logf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">logl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">modfl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">modf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">powf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">powl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sinf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sinhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sinhl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sinl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sqrtf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sqrtl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">tanf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tanhf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tanhl </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tanl </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">that are recognized in any mode since ISO C90 reserves these <p align="left">names for the purpose to which ISO C99 puts them. All these functions have corresponding</p><p align="left">versions prefixed with <font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">.</font></font></p></font></font></p></font></font><p align="left"><font face="CMR10" size="3"><font face="CMR10" size="3"><p align="left">The ISO C94 functions <font face="CMTT10" size="3"><font face="CMTT10" size="3">iswalnum</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswalpha</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswcntrl</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswdigit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswgraph</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswlower</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">iswprint<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswpunct</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswspace</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswupper</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">iswxdigit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">towlower </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">towupper </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">are handled <p align="left">as built-in functions except in strict ISO C90 mode (&lsquo;<font face="CMTT10" size="3"><font face="CMTT10" size="3">-ansi</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; or &lsquo;</font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">-std=c89</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo;). <p align="left">The ISO C90 functions <font face="CMTT10" size="3"><font face="CMTT10" size="3">abort</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">abs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">acos</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">asin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atan2</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">atan</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">calloc</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ceil</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">cosh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">cos<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">exp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fabs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">floor</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fmod</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fprintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fputs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">frexp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">fscanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isalnum</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isalpha</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">iscntrl<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isdigit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isgraph</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">islower</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isprint</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ispunct</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isspace</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isupper</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isxdigit</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">tolower<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">toupper</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">labs</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">ldexp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log10</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">log</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">malloc</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">memchr</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">memcmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">memcpy</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">memset</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">modf<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">pow</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">printf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">putchar</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">puts</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">scanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sinh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">snprintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sprintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sqrt</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">sscanf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">strcat<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strchr</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strcmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strcpy</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strcspn</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strlen</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strncat</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strncmp</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strncpy</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strpbrk</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">,</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">strrchr<font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strspn</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">strstr</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tanh</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">tan</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vfprintf</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vprintf </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">vsprintf </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">are all recognized <p align="left">as built-in functions unless &lsquo;<font face="CMTT10" size="3"><font face="CMTT10" size="3">-fno-builtin</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; is specified (or &lsquo;</font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">-fno-builtin-</font></font><font face="CMSLTT10" size="3"><font face="CMSLTT10" size="3">function</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">&rsquo; is <p align="left">specified for an individual function). All of these functions have corresponding versions</p><p align="left">prefixed with <font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">. <p align="left">GCC provides built-in versions of the ISO C99 floating point comparison macros that</p><p align="left">avoid raising exceptions for unordered operands. They have the same names as the standard</p><p align="left">macros ( <font face="CMTT10" size="3"><font face="CMTT10" size="3">isgreater</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isgreaterequal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isless</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">islessequal</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">islessgreater</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, and</font></font></p></font></font></p></font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">isunordered<font face="CMR10" size="3"><font face="CMR10" size="3">) , with </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_ </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">prefixed. We intend for a library implementor to be <p align="left">able to simply <font face="CMTT10" size="3"><font face="CMTT10" size="3">#define </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">each standard macro to its built-in equivalent. In the same fashion, <p align="left">GCC provides <font face="CMTT10" size="3"><font face="CMTT10" size="3">fpclassify</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isfinite</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isinf_sign </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isnormal </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">built-ins used with</font></font></p></font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">__builtin_ <font face="CMR10" size="3"><font face="CMR10" size="3">prefixed. The </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isinf </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">isnan </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">builtins appear both with and without the</font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">__builtin_ <font face="CMR10" size="3"><font face="CMR10" size="3">prefix.</font></font></p></font></font><font face="CMTT10"><p align="left">int __builtin_types_compatible_p <font face="CMSS10" size="3"><font face="CMSS10" size="3">(</font></font><font face="CMSLTT10">type1</font><font face="CMSL10" size="3"><font face="CMSL10" size="3">, </font></font><font face="CMSLTT10">type2</font><font face="CMSS10" size="3"><font face="CMSS10" size="3">) </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">[Built-in Function] <p align="left">You can use the built-in function <font face="CMTT10" size="3"><font face="CMTT10" size="3">__builtin_types_compatible_p </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">to determine <p align="left">whether two types are the same.</p><p align="left">Chapter 5: Extensions to the C Language Family 357</p><p align="left">This built-in function returns 1 if the unqualified versions of the types <font face="CMSL10" size="3"><font face="CMSL10" size="3">type1 </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and</font></font></p></font></font></p></font></font></p></font><font face="CMSL10" size="3"><font face="CMSL10" size="3"><p align="left">type2 <font face="CMR10" size="3"><font face="CMR10" size="3">(which are types, not expressions) are compatible, 0 otherwise. The result of <p align="left">this built-in function can be used in integer constant expressions.</p><p align="left">This built-in function ignores top level qualifiers (e.g., <font face="CMTT10" size="3"><font face="CMTT10" size="3">const</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">volatile</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">). For example,</font></font></p></font></font></p></font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3"><p align="left">int <font face="CMR10" size="3"><font face="CMR10" size="3">is equivalent to </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">const int</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">. <p align="left">The type <font face="CMTT10" size="3"><font face="CMTT10" size="3">int[] </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">int[5] </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">are compatible. On the other hand, </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">int </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">and </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">char * </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">are <p align="left">not compatible, even if the size of their types, on the particular architecture are the</p><p align="left">same. Also, the amount of pointer indirection is taken into account when determining</p><p align="left">similarity. Consequently, <font face="CMTT10" size="3"><font face="CMTT10" size="3">short * </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">is not similar to </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">short **</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">. Furthermore, two types <p align="left">that are typedefed are considered compatible if their underlying types are compatible.</p><p align="left">An <font face="CMTT10" size="3"><font face="CMTT10" size="3">enum </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">type is not considered to be compatible with another </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">enum </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">type even if both <p align="left">are compatible with the same integer type; this is what the C standard specifies. For</p><p align="left">example, <font face="CMTT10" size="3"><font face="CMTT10" size="3">enum {foo, bar} </font></font><font face="CMR10" size="3"><font face="CMR10" size="3">is not similar to </font></font><font face="CMTT10" size="3"><font face="CMTT10" size="3">enum {hot, dog}</font></font><font face="CMR10" size="3"><font face="CMR10" size="3">. <p align="left">You would typically use this function in code whose execution varies depending on</p><p>the arguments&rsquo; types.</p><p align="left"><br /><br />#==========================================================================</p></font></font></p></font></font></p></font></font></p></font></font></p></font></font></p></font></font><blockquote style="padding-left: 5px; margin-left: 5px; border-left: #ff0000 2px solid">&gt; Message du 04/11/10 23:17<br />&gt; De : &quot;Dennis McRitchie&quot; <br />&gt; A : &quot;Signature&quot; <br />&gt; Copie &agrave; : &quot;Daniel B. Peter&quot; , &quot;Dimitri Komatitsch&quot; , &quot;Robert R. Knight&quot; <br />&gt; Objet : RE: [CIG-SEISMO] SpecFEM3DGlobe: a bug resolved - Nov. 02, 2010<br />&gt;<br />&gt; Dear Mr. Delphin,<br />&gt; <br />&gt; With regard to your changes to the param_reader.c source file, they unfortunately prevent us from compiling in our regular build environments. Hence I have made the following changes so that the source code should compile in our environments as well as yours.<br />&gt; <br />&gt; Since Apple in their wisdom chose not to include strnlen and strndup as part of their gcc release, it is indeed appropriate to define these functions within param_reader.c . However, I have made the definitions conditional upon being compiled on an Apple system.<br />&gt; <br />&gt; Also, I have kept our use of the FC_FUNC_ macro, so as to facilitate changing the naming convention should future users of this code need to build with different Fortran compilers and/or OSs where the name-mangling convention is other that the current underscore suffix.<br />&gt; <br />&gt; Please try out the attached revised param_reader.c, and let us know if it works for you.<br />&gt; <br />&gt; Best regards,<br />&gt; Dennis McRitchie<br />&gt; <br />&gt; Dennis McRitchie<br />&gt; Computational Science and Engineering Support (CSES)<br />&gt; Academic Services Department<br />&gt; Office of Information Technology<br />&gt; Princeton University<br />&gt; <br />&gt; &gt; -----Original Message-----<br />&gt; &gt; From: Dimitri Komatitsch [mailto:dimitri.komatitsch@univ-pau.fr]<br />&gt; &gt; Sent: Thursday, November 04, 2010 7:53 AM<br />&gt; &gt; To: Signature<br />&gt; &gt; Cc: cig-seismo@geodynamics.org; Dennis McRitchie; Jeroen Tromp; Min Chen; Vala Hjorleifsdottir; Brian<br />&gt; &gt; Savage; Shiann-Jong Lee; Dimitri Komatitsch; Roland Martin; Bernhard Schuberth; Carl Tape; Anne<br />&gt; &gt; Sieminski; Paul Friberg; Kasper van Wijk; Dylan Mikesell; Federica Magnoni; Hatice E. Bozdag; Hejun<br />&gt; &gt; Zhu; Pieyre Le Loher; Christina E. Morency; Emanuele Casarotti; Srujan Kumar ENAGANTI; Emmanuel<br />&gt; &gt; Chaljub; Tarje Nissen-Meyer; Qinya Liu; Yang Luo; Daniel B. Peter; Ying Zhou; Emiljana JORGJI; Paul<br />&gt; &gt; Cristini; Dennis McRitchie<br />&gt; &gt; Subject: Re: [CIG-SEISMO] SpecFEM3DGlobe: a bug resolved - Nov. 02, 2010<br />&gt; &gt; <br />&gt; &gt; <br />&gt; &gt; Dear Mr. Delphin,<br />&gt; &gt; <br />&gt; &gt; Thank you very much for your contribution, which is very useful.<br />&gt; &gt; I have committed it to the official version of SPECFEM3D_GLOBE on our<br />&gt; &gt; SVN server.<br />&gt; &gt; <br />&gt; &gt; I cc Dennis McRitchie from Princeton Univ., who wrote param_reader.c, to<br />&gt; &gt; make sure that he agrees with the changes.<br />&gt; &gt; <br />&gt; &gt; I also cc Daniel Peter because he is currently working on the<br />&gt; &gt; attenuation routines of SPECFEM3D.<br />&gt; &gt; <br />&gt; &gt; Merci beaucoup,<br />&gt; &gt; Bien cordialement,<br />&gt; &gt; <br />&gt; &gt; Dimitri Komatitsch.<br />&gt; &gt; <br />&gt; &gt; On 11/02/2010 03:59 PM, Signature wrote:<br />&gt; &gt; &gt; Dear Sir:<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Please find enclosed two archived (zip) files about building<br />&gt; &gt; &gt; SpecFEM3DGlobe under Mac OS X (Snow Leopard). A source file, namely<br />&gt; &gt; &gt; param_reader.c, issues a compilation error avoiding building your software.<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; In fact, two string-based functions are not taken by gcc in charge<br />&gt; &gt; &gt; (please kindly see the GNU gcc user amnual for further informations). I<br />&gt; &gt; &gt; have built them and integrated in the .c file. The zip file of SUCCESS<br />&gt; &gt; &gt; includes the c file I modified.<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Consequently, the compilation and overall build processess succeeded.<br />&gt; &gt; &gt; Nevertheless, I have not yet tested the executables files. MPI compilers<br />&gt; &gt; &gt; were those included in the packages of OpenMPI (the MPI selected and<br />&gt; &gt; &gt; provided by APPLE) and saved in /usr/local . Please kindly note that the<br />&gt; &gt; &gt; Fortran MPI compilers are not provided by Apple: they lacked. So, for<br />&gt; &gt; &gt; obvious and practical purposes, I built them.<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Eventually, and as soon as I have some time to spend on it, I will issue<br />&gt; &gt; &gt; a technical report about my experience in building your sofwares with<br />&gt; &gt; &gt; Snow Leopard, and will send it to you by email.<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Many many thanks for your kind attention and for the opportunity to give<br />&gt; &gt; &gt; us and to use your open sources for R&amp;D purposes.<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Kind regards,<br />&gt; &gt; &gt;<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Laurent Delphin, Dunkerque (EU)<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; *LDVenture*<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; /Space Systems, Sustainable Life, &amp; Ecosystems Advisor/<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; /Research, Survey, Design, &amp; Management/<br />&gt; &gt; &gt;<br />&gt; &gt; &gt;<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; Pieddemail<br />&gt; &gt; &gt; <br />&gt; &gt; &gt;<br />&gt; &gt; &gt;<br />&gt; &gt; &gt;<br />&gt; &gt; &gt; _______________________________________________<br />&gt; &gt; &gt; CIG-SEISMO mailing list<br />&gt; &gt; &gt; CIG-SEISMO@geodynamics.org<br />&gt; &gt; &gt; http://geodynamics.org/cgi-bin/mailman/listinfo/cig-seismo<br />&gt; &gt; <br />&gt; &gt; --<br />&gt; &gt; Dimitri Komatitsch - dimitri.komatitsch aT univ-pau.fr<br />&gt; &gt; Professor, University of Pau, Institut universitaire de France,<br />&gt; &gt; CNRS and INRIA Magique3D, France http://www.univ-pau.fr/~dkomati1<br />&gt; &gt;<br />&gt; [ param_reader.c (8.8 Ko) ]</blockquote><BR><BR><a target=_blank href=https://compte.laposte.net/inscription/index.do?jeux=201001FOOTER><img style="margin: 0pt;" src="http://webmail.laposte.net/webmail/fr_FR/panels/images/laposte-pieddemail-conqueteOK.jpg" alt="Pieddemail"><a>