/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_como.hGo to the documentation of this file.00001 00002 // STLport configuration file 00003 // It is internal STLport header - DO NOT include it directly 00004 00005 #define _STLP_COMPILER "Comeau" 00006 00007 #include <stl/config/_native_headers.h> 00008 00009 #define _STLP_UINT32_T unsigned int 00010 00011 #define _STLP_HAS_NO_NEW_C_HEADERS 00012 // #define _STLP_VENDOR_GLOBAL_EXCEPT_STD 00013 #define _STLP_LONG_LONG long long 00014 00015 00016 // 00017 // ADDITIONS FOR COMEAU C++, made by Comeau Computing. 00018 // We can be reached through comeau@comeaucomputing.com 00019 // You shouldn't need to change anything below here for Comeau C++. 00020 // If you do, please tell us at comeau@comeaucomputing.com 00021 // 00022 // Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro 00023 // (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will 00024 // change as SGI integrates the changes into their code base since 00025 // some changes are not really Comeau C++ specific, but required to 00026 // make the SGI code compliant with Standard C++). 00027 // 00028 // Testing was done with Comeau C++ 4.2.44 and 4.2.45.2. Changes were made for 00029 // both Comeau relaxed mode and Comeau strict mode, especially for end user code 00030 // (that is, some of the .cxx files cannot compile in strict mode, because they 00031 // contain extensions to Standard C++, however their object code forms can 00032 // be used once compiled in relaxed mode, even if the end user code uses 00033 // strict mode). 00034 // 00035 // These changes may also work for some earlier versions of Comeau C++, 00036 // though we have not tested them. 00037 // 00038 // Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and 00039 // other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX, 00040 // and NetBSD. Other platforms may be added. Comeau will also perform 00041 // custom ports for you. 00042 // 00043 // Check libcomo details at http://www.comeaucomputing.com/libcomo and 00044 // http://www.comeaucomputing.com 00045 // 00046 // History of Comeau changes (this is rough, as work was often going on in parallel): 00047 // BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF 00048 // BETA2 Aug 4, 2000, Stronger RedHat support 00049 // Support for Comeau strict mode for end user code 00050 // BETA3 Aug 22, 2000, Support for other LINUX/INTEL/ELF's, including older ones 00051 // BETA4 Sept 2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's 00052 // Stronger support for end user Comeau strict mode 00053 // BETA5 Oct 5, 2000, Initial support for Solaris/SPARC 00054 // More SCO support (though still incomplete) 00055 // BETA6 Feb 5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1 00056 // BETA7 Mar 13, 2001, Verified with Comeau C++ 4.2.45.2 00057 // Minor NetBSD support 00058 // BETA8 Apr 1. 2001, Initial support for SunOS/SPARC 00059 // BETA9 Apr 7, 2001, Stronger SCO support + other UNIX x86 SVR3's 00060 // Mods for an fpos_t problem for some LINUXes 00061 // Mods since Destroy did not work in strict mode 00062 // BETA10 Apr 12. 2001, Stronger NetBSD support 00063 // 00064 // PLANNED: 00065 // BETAx TBA TBA, 2001, NetBSD, UNIXWARE, and Windows support expected 00066 // 00067 00068 00069 #ifdef __linux__ 00070 00071 # define _STLP_NO_NATIVE_MBSTATE_T 1 00072 # define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1 00073 # define _STLP_NO_NATIVE_WIDE_STREAMS 1 00074 # define _STLP_NO_LONG_DOUBLE 1 00075 00076 // Comeau C++ under LINUX/INTEL/ELF 00077 // Preprocess away "long long" routines for now, even in relaxed mode 00078 # define __wcstoull_internal_defined 1 00079 # define __wcstoll_internal_defined 1 00080 00081 #endif /* __COMO__ under __linux__ */ 00082 00083 #ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */ 00084 /* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO 00085 in other sources, not here */ 00086 # define atan2l atan2 00087 # define cosl cos 00088 # define sinl sin 00089 # define sqrtl sqrt 00090 # include <math.h> 00091 inline long double expl(long double arg) { return exp(arg); } 00092 inline long double logl(long double arg) { return log(arg); } 00093 # define log10l log10 00094 00095 # define sinhl sinh 00096 # define coshl cosh 00097 # define fabsl fabs 00098 namespace std { 00099 inline int min(int a, int b) { return a>b ? b : a; } 00100 } 00101 #endif 00102 00103 #ifdef sun 00104 // Comeau C++ under Solaris/SPARC or SunOS 00105 00106 #ifdef solarissparc 00107 #define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */ 00108 // Note comowchar.h for Solaris/SPARC wchar stuff 00109 00110 #include <math.h> 00111 # define sinf sin 00112 # define sinl sin 00113 # define sinhf sinh 00114 # define sinhl sinh 00115 # define cosf cos 00116 # define cosl cos 00117 # define coshf cosh 00118 # define coshl cosh 00119 # define atan2l atan2 00120 # define atan2f atan2 00121 inline float logf(float arg) { return log(arg); } 00122 inline long double logl(long double arg) { return log(arg); } 00123 # define log10f log10 00124 # define log10l log10 00125 # define expf exp 00126 inline long double expl(long double arg) { return exp(arg); } 00127 # define sqrtf sqrt 00128 # define sqrtl sqrt 00129 # define fabsf fabs 00130 # define fabsl fabs 00131 #else 00132 #define __USING_SUNOS_WITH_COMO 00133 00134 #define __unix 1 00135 #define __EXTENSIONS__ /* This might create undue noise somewhere */ 00136 #endif 00137 #endif /* sun */ 00138 00139 #if defined(__NetBSD__) 00140 // From non-como #ifdef __GNUC__ above 00141 #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE 00142 #define __unix 1 00143 00144 #include <sys/cdefs.h> 00145 // Some joker #define'd __END_DECLS as }; 00146 #undef __END_DECLS 00147 #define __END_DECLS } 00148 00149 // <sys/stat.h> prob 00150 #include <sys/cdefs.h> 00151 #undef __RENAME 00152 #define __RENAME(x) 00153 00154 #define wchar_t __COMO_WCHAR_T 00155 #include <stddef.h> 00156 #undef wchar_t 00157 00158 #include <math.h> 00159 # ifdef BORIS_DISABLED 00160 # define atan2l atan2 00161 # define cosl cos 00162 # define sinl sin 00163 # define sqrtl sqrt 00164 inline long double expl(long double arg) { return exp(arg); } 00165 inline long double logl(long double arg) { return log(arg); } 00166 # define log10l log10 00167 # define sinhl sinh 00168 # define coshl cosh 00169 # define fabsl fabs 00170 # endif 00171 #endif /* __NetBSD__ under __COMO__ */ 00172 00173 // Shouldn't need to change anything below here for Comeau C++ 00174 // If so, tell us at comeau@comeaucomputing.com 00175 00176 #define _STLP_NO_DRAND48 00177 00178 #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX 00179 #define _STLP_NO_USING_CLAUSE_IN_CLASS 00180 00181 #if __COMO_VERSION__ < 4300 00182 #if __COMO_VERSION__ >= 4245 00183 #define _STLP_NO_EXCEPTION_HEADER 00184 // Is this needed? 00185 # include <stdexcept.stdh> 00186 #endif 00187 #define _STLP_NO_BAD_ALLOC 00188 #define _STLP_USE_AUTO_PTR_CONVERSIONS 00189 #endif 00190 00191 // this one is true only with MS 00192 # if defined (_MSC_VER) 00193 # define _STLP_WCHAR_T_IS_USHORT 1 00194 # if _MSC_VER <= 1200 00195 # define _STLP_VENDOR_GLOBAL_CSTD 00196 # endif 00197 # if _MSC_VER < 1100 00198 # define _STLP_NO_BAD_ALLOC 1 00199 # define _STLP_NO_EXCEPTION_HEADER 1 00200 # define _STLP_NO_NEW_NEW_HEADER 1 00201 # define _STLP_USE_NO_IOSTREAMS 1 00202 # endif 00203 # endif 00204 00205 // # define __EDG_SWITCHES 00206 00207
Generated on Mon Mar 10 15:32:46 2008 by ![]() |