epoc32/include/tools/stlport/stl/config/_watcom.h
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
     1.1 --- a/epoc32/include/tools/stlport/stl/config/_watcom.h	Wed Mar 31 12:27:01 2010 +0100
     1.2 +++ b/epoc32/include/tools/stlport/stl/config/_watcom.h	Wed Mar 31 12:33:34 2010 +0100
     1.3 @@ -1,154 +1,154 @@
     1.4 -// STLport configuration file
     1.5 -// It is internal STLport header - DO NOT include it directly
     1.6 -
     1.7 -#define _STLP_COMPILER "Watcom"
     1.8 -
     1.9 -# ifndef _STLP_USE_NO_IOSTREAMS
    1.10 -#  define _STLP_USE_NO_IOSTREAMS
    1.11 -# endif
    1.12 -
    1.13 -# define _STLP_NO_RELOPS_NAMESPACE
    1.14 -# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
    1.15 -
    1.16 -#  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
    1.17 -#  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
    1.18 -#  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
    1.19 -
    1.20 -// On QNX, headers are supposed to be found in /usr/include,
    1.21 -// so default "../include" should work.
    1.22 -# ifndef __QNX__
    1.23 -#  define _STLP_NATIVE_INCLUDE_PATH ../h
    1.24 -# endif
    1.25 -
    1.26 -// Inline replacements for locking calls under Watcom
    1.27 -// Define _STLP_NO_WATCOM_INLINE_INTERLOCK to keep using
    1.28 -// standard WIN32 calls
    1.29 -// Define _STL_MULTIPROCESSOR to enable lock
    1.30 -#if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK)
    1.31 -
    1.32 -long    __stl_InterlockedIncrement( long *var );
    1.33 -long    __stl_InterlockedDecrement( long *var );
    1.34 -
    1.35 -#ifdef _STL_MULTIPROCESSOR
    1.36 -// Multiple Processors, add lock prefix
    1.37 -#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
    1.38 -        ".586"                  \
    1.39 -        "mov eax, 1"            \
    1.40 -        "lock xadd [ecx], eax"       \
    1.41 -        "inc eax"               \
    1.42 -        value [eax];
    1.43 -
    1.44 -
    1.45 -#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
    1.46 -        ".586"                  \
    1.47 -        "mov eax, 0FFFFFFFFh"   \
    1.48 -        "lock xadd [ecx], eax"       \
    1.49 -        "dec eax"               \
    1.50 -        value [eax];
    1.51 -#else
    1.52 -// Single Processor, lock prefix not needed
    1.53 -#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
    1.54 -        ".586"                  \
    1.55 -        "mov eax, 1"            \
    1.56 -        "xadd [ecx], eax"       \
    1.57 -        "inc eax"               \
    1.58 -        value [eax];
    1.59 -
    1.60 -#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
    1.61 -        ".586"                  \
    1.62 -        "mov eax, 0FFFFFFFFh"   \
    1.63 -        "xadd [ecx], eax"       \
    1.64 -        "dec eax"               \
    1.65 -        value [eax];
    1.66 -#endif // _STL_MULTIPROCESSOR
    1.67 -
    1.68 -long    __stl_InterlockedExchange( long *Destination, long Value );
    1.69 -
    1.70 -// xchg has auto-lock
    1.71 -#pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \
    1.72 -        ".586"                  \
    1.73 -        "xchg eax, [ecx]"       \
    1.74 -        value [eax];
    1.75 -#else
    1.76 -
    1.77 -#define __stl_InterlockedIncrement      InterlockedIncrement
    1.78 -#define __stl_InterlockedDecrement      InterlockedDecrement
    1.79 -#define __stl_InterlockedExchange       InterlockedExchange
    1.80 -#endif /* INLINE INTERLOCK */
    1.81 -
    1.82 -#define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x)
    1.83 -#define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x)
    1.84 -#define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y)
    1.85 -
    1.86 -// boris : is this true or just the header is not in /usr/include ?
    1.87 -# ifdef __QNX__
    1.88 -#  define _STLP_NO_TYPEINFO 1
    1.89 -# endif
    1.90 -
    1.91 -#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
    1.92 -#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
    1.93 -#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
    1.94 -#  define _STLP_NO_MEMBER_TEMPLATES 1
    1.95 -#  define _STLP_NO_FRIEND_TEMPLATES 1
    1.96 -#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
    1.97 -
    1.98 -
    1.99 -#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
   1.100 -#  define _STLP_HAS_NO_NAMESPACES 1
   1.101 -#  define _STLP_NEED_TYPENAME 1
   1.102 -
   1.103 -#  if __WATCOMC__ < 1100
   1.104 -#  define _STLP_NO_WCHAR_T 1
   1.105 -#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
   1.106 -#  endif
   1.107 -
   1.108 -#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
   1.109 -
   1.110 -#  define _STLP_STATIC_CONST_INIT_BUG 1
   1.111 -// #  define _STLP_THROW_RETURN_BUG 1
   1.112 -#  define _STLP_NO_TEMPLATE_CONVERSIONS 1
   1.113 -
   1.114 -#  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
   1.115 -
   1.116 -#  define _STLP_HAS_NO_NEW_IOSTREAMS 1
   1.117 -#  define _STLP_HAS_NO_NEW_C_HEADERS 1
   1.118 -#  define _STLP_NO_NEW_NEW_HEADER 1
   1.119 -#  define _STLP_VENDOR_GLOBAL_STD
   1.120 -
   1.121 -#  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
   1.122 -#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
   1.123 -#  define _STLP_NONTEMPL_BASE_MATCH_BUG
   1.124 -#  define _STLP_NO_EXCEPTION_HEADER 1
   1.125 -#  define _STLP_NO_BAD_ALLOC 1
   1.126 -
   1.127 -#  define _STLP_NESTED_TYPE_PARAM_BUG 1
   1.128 -
   1.129 -#  define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1
   1.130 -
   1.131 -#  if (__WATCOM_CPLUSPLUS__ < 1100 )
   1.132 -#   define _STLP_NO_BOOL 1
   1.133 -#   define _STLP_NEED_EXPLICIT 1
   1.134 -#   define _STLP_NEED_MUTABLE 1
   1.135 -#   define _STLP_NO_ARROW_OPERATOR 1
   1.136 -#  endif
   1.137 -// This one is present in 11, but apparently has bugs (with auto_ptr).
   1.138 -#   define _STLP_NO_NEW_STYLE_CASTS 1
   1.139 -
   1.140 -// Get rid of Watcom's min and max macros
   1.141 -#undef min
   1.142 -#undef max
   1.143 -
   1.144 -// for switches (-xs,  -xss,  -xst)
   1.145 -//
   1.146 -#if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST))
   1.147 -#    define _STLP_HAS_NO_EXCEPTIONS 1
   1.148 -# endif
   1.149 -
   1.150 -# if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT)
   1.151 -# define _REENTRANT 1
   1.152 -# endif
   1.153 -
   1.154 -
   1.155 -
   1.156 -
   1.157 -
   1.158 +// STLport configuration file
   1.159 +// It is internal STLport header - DO NOT include it directly
   1.160 +
   1.161 +#define _STLP_COMPILER "Watcom"
   1.162 +
   1.163 +# ifndef _STLP_USE_NO_IOSTREAMS
   1.164 +#  define _STLP_USE_NO_IOSTREAMS
   1.165 +# endif
   1.166 +
   1.167 +# define _STLP_NO_RELOPS_NAMESPACE
   1.168 +# define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX
   1.169 +
   1.170 +#  define _STLP_HAS_SPECIFIC_PROLOG_EPILOG
   1.171 +#  define _STLP_DONT_SIMULATE_PARTIAL_SPEC_FOR_TYPE_TRAITS
   1.172 +#  define _STLP_USE_OLD_HP_ITERATOR_QUERIES
   1.173 +
   1.174 +// On QNX, headers are supposed to be found in /usr/include,
   1.175 +// so default "../include" should work.
   1.176 +# ifndef __QNX__
   1.177 +#  define _STLP_NATIVE_INCLUDE_PATH ../h
   1.178 +# endif
   1.179 +
   1.180 +// Inline replacements for locking calls under Watcom
   1.181 +// Define _STLP_NO_WATCOM_INLINE_INTERLOCK to keep using
   1.182 +// standard WIN32 calls
   1.183 +// Define _STL_MULTIPROCESSOR to enable lock
   1.184 +#if !defined(_STLP_NO_WATCOM_INLINE_INTERLOCK)
   1.185 +
   1.186 +long    __stl_InterlockedIncrement( long *var );
   1.187 +long    __stl_InterlockedDecrement( long *var );
   1.188 +
   1.189 +#ifdef _STL_MULTIPROCESSOR
   1.190 +// Multiple Processors, add lock prefix
   1.191 +#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
   1.192 +        ".586"                  \
   1.193 +        "mov eax, 1"            \
   1.194 +        "lock xadd [ecx], eax"       \
   1.195 +        "inc eax"               \
   1.196 +        value [eax];
   1.197 +
   1.198 +
   1.199 +#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
   1.200 +        ".586"                  \
   1.201 +        "mov eax, 0FFFFFFFFh"   \
   1.202 +        "lock xadd [ecx], eax"       \
   1.203 +        "dec eax"               \
   1.204 +        value [eax];
   1.205 +#else
   1.206 +// Single Processor, lock prefix not needed
   1.207 +#pragma aux __stl_InterlockedIncrement parm [ ecx ] = \
   1.208 +        ".586"                  \
   1.209 +        "mov eax, 1"            \
   1.210 +        "xadd [ecx], eax"       \
   1.211 +        "inc eax"               \
   1.212 +        value [eax];
   1.213 +
   1.214 +#pragma aux __stl_InterlockedDecrement parm [ ecx ] = \
   1.215 +        ".586"                  \
   1.216 +        "mov eax, 0FFFFFFFFh"   \
   1.217 +        "xadd [ecx], eax"       \
   1.218 +        "dec eax"               \
   1.219 +        value [eax];
   1.220 +#endif // _STL_MULTIPROCESSOR
   1.221 +
   1.222 +long    __stl_InterlockedExchange( long *Destination, long Value );
   1.223 +
   1.224 +// xchg has auto-lock
   1.225 +#pragma aux __stl_InterlockedExchange parm [ecx] [eax] = \
   1.226 +        ".586"                  \
   1.227 +        "xchg eax, [ecx]"       \
   1.228 +        value [eax];
   1.229 +#else
   1.230 +
   1.231 +#define __stl_InterlockedIncrement      InterlockedIncrement
   1.232 +#define __stl_InterlockedDecrement      InterlockedDecrement
   1.233 +#define __stl_InterlockedExchange       InterlockedExchange
   1.234 +#endif /* INLINE INTERLOCK */
   1.235 +
   1.236 +#define _STLP_ATOMIC_INCREMENT(__x) __stl_InterlockedIncrement((long*)__x)
   1.237 +#define _STLP_ATOMIC_DECREMENT(__x) __stl_InterlockedDecrement((long*)__x)
   1.238 +#define _STLP_ATOMIC_EXCHANGE(__x, __y) __stl_InterlockedExchange((long*)__x, (long)__y)
   1.239 +
   1.240 +// boris : is this true or just the header is not in /usr/include ?
   1.241 +# ifdef __QNX__
   1.242 +#  define _STLP_NO_TYPEINFO 1
   1.243 +# endif
   1.244 +
   1.245 +#  define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
   1.246 +#  define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
   1.247 +#  define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1
   1.248 +#  define _STLP_NO_MEMBER_TEMPLATES 1
   1.249 +#  define _STLP_NO_FRIEND_TEMPLATES 1
   1.250 +#  define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
   1.251 +
   1.252 +
   1.253 +#  define _STLP_LIMITED_DEFAULT_TEMPLATES 1
   1.254 +#  define _STLP_HAS_NO_NAMESPACES 1
   1.255 +#  define _STLP_NEED_TYPENAME 1
   1.256 +
   1.257 +#  if __WATCOMC__ < 1100
   1.258 +#  define _STLP_NO_WCHAR_T 1
   1.259 +#  define _STLP_NO_PARTIAL_SPECIALIZATION_SYNTAX 1
   1.260 +#  endif
   1.261 +
   1.262 +#  define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1
   1.263 +
   1.264 +#  define _STLP_STATIC_CONST_INIT_BUG 1
   1.265 +// #  define _STLP_THROW_RETURN_BUG 1
   1.266 +#  define _STLP_NO_TEMPLATE_CONVERSIONS 1
   1.267 +
   1.268 +#  define _STLP_BASE_TYPEDEF_OUTSIDE_BUG 1
   1.269 +
   1.270 +#  define _STLP_HAS_NO_NEW_IOSTREAMS 1
   1.271 +#  define _STLP_HAS_NO_NEW_C_HEADERS 1
   1.272 +#  define _STLP_NO_NEW_NEW_HEADER 1
   1.273 +#  define _STLP_VENDOR_GLOBAL_STD
   1.274 +
   1.275 +#  define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1
   1.276 +#  define _STLP_NON_TYPE_TMPL_PARAM_BUG 1
   1.277 +#  define _STLP_NONTEMPL_BASE_MATCH_BUG
   1.278 +#  define _STLP_NO_EXCEPTION_HEADER 1
   1.279 +#  define _STLP_NO_BAD_ALLOC 1
   1.280 +
   1.281 +#  define _STLP_NESTED_TYPE_PARAM_BUG 1
   1.282 +
   1.283 +#  define _STLP_NO_USING_FOR_GLOBAL_FUNCTIONS 1
   1.284 +
   1.285 +#  if (__WATCOM_CPLUSPLUS__ < 1100 )
   1.286 +#   define _STLP_NO_BOOL 1
   1.287 +#   define _STLP_NEED_EXPLICIT 1
   1.288 +#   define _STLP_NEED_MUTABLE 1
   1.289 +#   define _STLP_NO_ARROW_OPERATOR 1
   1.290 +#  endif
   1.291 +// This one is present in 11, but apparently has bugs (with auto_ptr).
   1.292 +#   define _STLP_NO_NEW_STYLE_CASTS 1
   1.293 +
   1.294 +// Get rid of Watcom's min and max macros
   1.295 +#undef min
   1.296 +#undef max
   1.297 +
   1.298 +// for switches (-xs,  -xss,  -xst)
   1.299 +//
   1.300 +#if !(defined (__SW_XS) || defined (__SW_XSS) || defined(__SW_XST))
   1.301 +#    define _STLP_HAS_NO_EXCEPTIONS 1
   1.302 +# endif
   1.303 +
   1.304 +# if defined ( _MT ) && !defined (_NOTHREADS) && !defined (_REENTRANT)
   1.305 +# define _REENTRANT 1
   1.306 +# endif
   1.307 +
   1.308 +
   1.309 +
   1.310 +
   1.311 +