epoc32/include/tools/stlport/stl/config/_como.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     1 
     2 // STLport configuration file
     3 // It is internal STLport header - DO NOT include it directly
     4 
     5 #define _STLP_COMPILER "Comeau"
     6 
     7 #include <stl/config/_native_headers.h>
     8 
     9 #define _STLP_UINT32_T unsigned int
    10 
    11 #define _STLP_HAS_NO_NEW_C_HEADERS
    12 // #define _STLP_VENDOR_GLOBAL_EXCEPT_STD
    13 #define _STLP_LONG_LONG long long
    14 
    15 
    16 //
    17 // ADDITIONS FOR COMEAU C++, made by Comeau Computing.
    18 // We can be reached through comeau@comeaucomputing.com
    19 // You shouldn't need to change anything below here for Comeau C++.
    20 // If you do, please tell us at comeau@comeaucomputing.com
    21 //
    22 // Changes made here, AND THROUGH ALL FILES, based upon the __COMO__ macro
    23 // (and SIMILAR NAMES INVOLVING COMO).... no doubt some of this will
    24 // change as SGI integrates the changes into their code base since
    25 // some changes are not really Comeau C++ specific, but required to
    26 // make the SGI code compliant with Standard C++).
    27 //
    28 // Testing was done with Comeau C++ 4.2.44 and 4.2.45.2.  Changes were made for
    29 // both Comeau relaxed mode and Comeau strict mode, especially for end user code
    30 // (that is, some of the .cxx files cannot compile in strict mode, because they
    31 // contain extensions to Standard C++, however their object code forms can
    32 // be used once compiled in relaxed mode, even if the end user code uses
    33 // strict mode).
    34 //
    35 // These changes may also work for some earlier versions of Comeau C++,
    36 // though we have not tested them.
    37 //
    38 // Actual mods made under RedHat 6.1 LINUX, should be ok with SuSE too and
    39 // other LINUX's, and older Caldera LINUX, Solaris/SPARC, SunOS, SCO UNIX,
    40 // and NetBSD. Other platforms may be added.  Comeau will also perform
    41 // custom ports for you.
    42 //
    43 // Check libcomo details at http://www.comeaucomputing.com/libcomo and
    44 // http://www.comeaucomputing.com
    45 //
    46 // History of Comeau changes (this is rough, as work was often going on in parallel):
    47 // BETA1 July 14, 2000, Initial port for RedHat 6.1 INTEL/ELF
    48 // BETA2 Aug   4, 2000, Stronger RedHat support
    49 //                      Support for Comeau strict mode for end user code
    50 // BETA3 Aug  22, 2000, Support for other LINUX/INTEL/ELF's, including older ones
    51 // BETA4 Sept  2, 2000, Initial support for SCO UNIX + other UNIX x86 SVR3's
    52 //                      Stronger support for end user Comeau strict mode
    53 // BETA5 Oct   5, 2000, Initial support for Solaris/SPARC
    54 //                      More SCO support (though still incomplete)
    55 // BETA6 Feb   5, 2001, Minor mods to accomodate Comeau C++ 4.2.45.1
    56 // BETA7 Mar  13, 2001, Verified with Comeau C++ 4.2.45.2
    57 //                      Minor NetBSD support
    58 // BETA8 Apr   1. 2001, Initial support for SunOS/SPARC
    59 // BETA9 Apr   7, 2001, Stronger SCO support + other UNIX x86 SVR3's
    60 //                      Mods for an fpos_t problem for some LINUXes
    61 //                      Mods since Destroy did not work in strict mode
    62 // BETA10 Apr  12. 2001, Stronger NetBSD support
    63 //
    64 // PLANNED:
    65 // BETAx TBA  TBA, 2001, NetBSD, UNIXWARE, and Windows support expected
    66 //
    67 
    68 
    69 #ifdef __linux__
    70 
    71 #   define _STLP_NO_NATIVE_MBSTATE_T      1
    72 #   define _STLP_NO_NATIVE_WIDE_FUNCTIONS 1
    73 #   define _STLP_NO_NATIVE_WIDE_STREAMS   1
    74 #   define _STLP_NO_LONG_DOUBLE   1
    75 
    76 // Comeau C++ under LINUX/INTEL/ELF
    77 // Preprocess away "long long" routines for now, even in relaxed mode
    78 # define __wcstoull_internal_defined  1
    79 # define __wcstoll_internal_defined  1
    80 
    81 #endif /* __COMO__ under __linux__ */
    82 
    83 #ifdef __USING_x86SVR3x_WITH_COMO /* SCO et al */
    84 /* UNIX 386+ SVR3 mods made with __USING_x86SVR3x_WITH_COMO
    85    in other sources, not here */
    86 #    define atan2l atan2
    87 #    define cosl cos
    88 #    define sinl sin
    89 #    define sqrtl sqrt
    90 #    include <math.h>
    91      inline long double expl(long double arg) { return exp(arg); }
    92      inline long double logl(long double arg) { return log(arg); }
    93 #    define log10l log10
    94 
    95 #    define sinhl sinh
    96 #    define coshl cosh
    97 #    define fabsl fabs
    98 namespace std {
    99  inline int min(int a, int b) { return a>b ? b : a; }
   100 }
   101 #endif
   102 
   103 #ifdef sun
   104 // Comeau C++ under Solaris/SPARC or SunOS
   105 
   106 #ifdef solarissparc
   107 #define __USING_SOLARIS_SPARC_WITH_COMO /* show this in the source when grep'ing for COMO */
   108 // Note comowchar.h for Solaris/SPARC wchar stuff
   109 
   110 #include <math.h>
   111 #    define sinf sin
   112 #    define sinl sin
   113 #    define sinhf sinh
   114 #    define sinhl sinh
   115 #    define cosf cos
   116 #    define cosl cos
   117 #    define coshf cosh
   118 #    define coshl cosh
   119 #    define atan2l atan2
   120 #    define atan2f atan2
   121      inline float logf(float arg) { return log(arg); }
   122      inline long double logl(long double arg) { return log(arg); }
   123 #    define log10f log10
   124 #    define log10l log10
   125 #    define expf exp
   126      inline long double expl(long double arg) { return exp(arg); }
   127 #    define sqrtf sqrt
   128 #    define sqrtl sqrt
   129 #    define fabsf fabs
   130 #    define fabsl fabs
   131 #else
   132 #define __USING_SUNOS_WITH_COMO
   133 
   134 #define __unix 1
   135 #define __EXTENSIONS__ /* This might create undue noise somewhere */
   136 #endif
   137 #endif /* sun */
   138 
   139 #if defined(__NetBSD__)
   140 // From non-como #ifdef __GNUC__ above
   141 #undef _STLP_NO_FUNCTION_PTR_IN_CLASS_TEMPLATE
   142 #define __unix 1
   143 
   144 #include <sys/cdefs.h>
   145 // Some joker #define'd __END_DECLS as };
   146 #undef __END_DECLS
   147 #define __END_DECLS }
   148 
   149 // <sys/stat.h> prob
   150 #include <sys/cdefs.h>
   151 #undef __RENAME
   152 #define __RENAME(x)
   153 
   154 #define wchar_t __COMO_WCHAR_T
   155 #include <stddef.h>
   156 #undef wchar_t
   157 
   158 #include <math.h>
   159 # ifdef BORIS_DISABLED
   160 #    define atan2l atan2
   161 #    define cosl cos
   162 #    define sinl sin
   163 #    define sqrtl sqrt
   164      inline long double expl(long double arg) { return exp(arg); }
   165      inline long double logl(long double arg) { return log(arg); }
   166 #    define log10l log10
   167 #    define sinhl sinh
   168 #    define coshl cosh
   169 #    define fabsl fabs
   170 # endif
   171 #endif /* __NetBSD__ under __COMO__ */
   172 
   173 // Shouldn't need to change anything below here for Comeau C++
   174 // If so, tell us at comeau@comeaucomputing.com
   175 
   176 #define _STLP_NO_DRAND48
   177 
   178 #define _STLP_PARTIAL_SPECIALIZATION_SYNTAX
   179 #define _STLP_NO_USING_CLAUSE_IN_CLASS
   180 
   181 #if __COMO_VERSION__ < 4300
   182 #if __COMO_VERSION__ >= 4245
   183 #define _STLP_NO_EXCEPTION_HEADER /**/
   184     // Is this needed?
   185 #   include <stdexcept.stdh>
   186 #endif
   187 #define _STLP_NO_BAD_ALLOC /**/
   188 #define _STLP_USE_AUTO_PTR_CONVERSIONS /**/
   189 #endif
   190 
   191 // this one is true only with MS
   192 # if defined (_MSC_VER)
   193 #  define _STLP_WCHAR_T_IS_USHORT 1
   194 #  if _MSC_VER <= 1200
   195 #   define _STLP_VENDOR_GLOBAL_CSTD
   196 #  endif
   197 #  if _MSC_VER < 1100
   198 #   define _STLP_NO_BAD_ALLOC 1
   199 #   define _STLP_NO_EXCEPTION_HEADER 1
   200 #   define _STLP_NO_NEW_NEW_HEADER 1
   201 #   define _STLP_USE_NO_IOSTREAMS 1
   202 #  endif
   203 # endif
   204 
   205 // # define __EDG_SWITCHES
   206 
   207