/home/ntakagi/work/STLport-5.1.5/stlport/stl/config/_como.h

Go 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  doxygen 1.5.1