1.1 --- a/epoc32/include/stdapis/stlport/config/stl_rvct.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/stdapis/stlport/config/stl_rvct.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,244 @@
1.4 -stl_rvct.h
1.5 +/*
1.6 +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
1.7 +
1.8 +* Redistribution and use in source and binary forms, with or without
1.9 +* modification, are permitted provided that the following conditions are met:
1.10 +
1.11 +* Redistributions of source code must retain the above copyright notice, this
1.12 +* list of conditions and the following disclaimer.
1.13 +* Redistributions in binary form must reproduce the above copyright notice,
1.14 +* this list of conditions and the following disclaimer in the documentation
1.15 +* and/or other materials provided with the distribution.
1.16 +* Neither the name of Nokia Corporation nor the names of its contributors
1.17 +* may be used to endorse or promote products derived from this software
1.18 +* without specific prior written permission.
1.19 +
1.20 +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1.21 +* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1.22 +* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
1.23 +* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
1.24 +* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1.25 +* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
1.26 +* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
1.27 +* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
1.28 +* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
1.29 +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1.30 +*
1.31 +* Description:
1.32 +*
1.33 +*/
1.34 +
1.35 +// =============================================================================
1.36 +// stl_rvct.h
1.37 +// This is a list of settings for STLport specific to the ARM RVCT compiler.
1.38 +// Do not include this file directly.
1.39 +// =============================================================================
1.40 +
1.41 +# ifndef _STLP_RVCT_H
1.42 +# define _STLP_RVCT_H
1.43 +
1.44 +
1.45 +#if defined(__WINS__)
1.46 +# pragma warning ( disable : 4018 4097 4100 4127 4244 4284 4511 4512 4514 4786 4800 ) //4355 4284 4231 4511 4512 4097 4786 4800 4018 4146 4244 4514 4127 4100 4663)
1.47 +# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1
1.48 +// Uncomment if partial order of template functions is not available
1.49 +# define _STLP_NO_FUNC_PARTIAL_ORDERING 1
1.50 +#endif
1.51 +
1.52 +#ifndef _STLP_NO_IOSTREAMS
1.53 +//# define _STLP_NO_IOSTREAMS 1
1.54 +#endif
1.55 +
1.56 +//# undef _STLP_OWN_IOSTREAMS
1.57 +//#define _STLP_OWN_IOSTREAMS
1.58 +#define _STLP_USE_NEW_IOSTREAMS
1.59 +//# define _STLP_NO_NATIVE_MBSTATE_T 1
1.60 +//# define _NOTHREADS 1
1.61 +//# define _STLP_NO_TYPEINFO 1
1.62 +
1.63 +#ifndef __PLACEMENT_NEW_INLINE
1.64 +#ifndef __E32STD_H__
1.65 +#ifdef __cplusplus
1.66 +inline void * operator new(unsigned int, void *_P) throw() { return (_P); }
1.67 +inline void operator delete(void* /*aPtr*/, void* /*aBase*/) __NO_THROW {}
1.68 +#endif
1.69 +#define __PLACEMENT_NEW_INLINE
1.70 +#endif // E32STD_H
1.71 +#endif
1.72 +
1.73 +
1.74 +//==========================================================
1.75 +
1.76 +// the values choosen here as defaults try to give
1.77 +// maximum functionality on the most conservative settings
1.78 +
1.79 +// Mostly correct guess, change it for Alpha (and other environments
1.80 +// that has 64-bit "long")
1.81 +# define _STLP_UINT32_T unsigned long
1.82 +
1.83 +
1.84 +// Define if wchar_t is not a unique type, and is actually a typedef to unsigned short.
1.85 +// # define _STLP_WCHAR_T_IS_USHORT 1
1.86 +
1.87 +// Uncomment if long long is available
1.88 + # define _STLP_LONG_LONG long long
1.89 +
1.90 +// Uncomment if long double is not available
1.91 +// # define _STLP_NO_LONG_DOUBLE 1
1.92 +
1.93 +// Uncomment this if your compiler does not support namespaces
1.94 +//# define _STLP_HAS_NO_NAMESPACES 1
1.95 +
1.96 +// Uncomment if "using" keyword does not work with template types
1.97 +// # define _STLP_BROKEN_USING_DIRECTIVE 1
1.98 +
1.99 +// Uncomment this if your compiler does not support exceptions
1.100 +//# define _STLP_HAS_NO_EXCEPTIONS 1
1.101 +//# define _STLP_USE_TRAP_LEAVE 1
1.102 +
1.103 +// Header <new> that comes with the compiler
1.104 +// does not define bad_alloc exception
1.105 +//#if defined(__WINS__)
1.106 +// Possibly required ???
1.107 +# define _STLP_NO_BAD_ALLOC 1
1.108 +//#endif
1.109 +
1.110 +// Uncomment if member template methods are not available
1.111 +// # define _STLP_NO_MEMBER_TEMPLATES 1
1.112 +
1.113 +// Uncomment if member template classes are not available
1.114 +#if defined(__WINS__)
1.115 +# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1
1.116 +#endif
1.117 +
1.118 +// Uncomment if friend member templates are not available
1.119 +#if defined(__WINS__)
1.120 +// Possibly required ???
1.121 +//# define _STLP_NO_FRIEND_TEMPLATES 1
1.122 +#endif
1.123 +
1.124 +// Compiler does not accept friend declaration qualified with namespace name.
1.125 +// # define _STLP_NO_QUALIFIED_FRIENDS 1
1.126 +
1.127 +// Uncomment if partial specialization is not available
1.128 +#if defined(__WINS__)
1.129 +# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1
1.130 +#endif
1.131 +
1.132 +// Define if class being partially specialized require full name (template parameters)
1.133 +// of itself for method declarations
1.134 +// # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS
1.135 +
1.136 +// Compiler has problems specializing members of partially
1.137 +// specialized class
1.138 +// # define _STLP_MEMBER_SPECIALIZATION_BUG
1.139 +
1.140 +// Compiler requires typename keyword on outline method definition
1.141 +// explicitly taking nested types/typedefs
1.142 +// #define _STLP_TYPENAME_ON_RETURN_TYPE
1.143 +
1.144 +// * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a
1.145 +// constant-initializer in the declaration of a static const data member
1.146 +// of integer type. (See section 9.4.2, paragraph 4, of the C++ standard.)
1.147 +#if defined(__WINS__)
1.148 +# define _STLP_STATIC_CONST_INIT_BUG
1.149 +#endif
1.150 +
1.151 +// Define if default constructor for builtin integer type fails to initialize it to 0
1.152 +// # define _STLP_DEFAULT_CONSTRUCTOR_BUG 1
1.153 +
1.154 +// Defined if constructor
1.155 +// required to explicitly call member's default constructors for const objects
1.156 +// # define _STLP_CONST_CONSTRUCTOR_BUG 1
1.157 +
1.158 +// Define this if compiler lacks <exception> header
1.159 +# define _STLP_NO_EXCEPTION_HEADER 1
1.160 +
1.161 +// Uncomment if native new-style C library headers lile <cstddef>, etc are not available.
1.162 +# define _STLP_HAS_NO_NEW_C_HEADERS 1
1.163 +
1.164 +// uncomment if new-style headers <new> is available
1.165 +// # define _STLP_HAS_NEW_NEW_HEADER 1
1.166 +
1.167 +// uncomment this if <iostream> and other STD headers put their stuff in ::namespace,
1.168 +// not std::
1.169 +// # define _STLP_VENDOR_GLOBAL_STD
1.170 +
1.171 +// uncomment this if <cstdio> and the like put stuff in ::namespace,
1.172 +// not std::
1.173 +# define _STLP_VENDOR_GLOBAL_CSTD
1.174 +/*
1.175 +# ifdef _PTHREADS
1.176 +# undef _PTHREADS
1.177 +# endif
1.178 +# ifdef _STLP_PTHREADS
1.179 +# undef _STLP_PTHREADS
1.180 +# endif
1.181 +# ifdef _STLP_THREADS
1.182 +# undef _STLP_THREADS
1.183 +# endif
1.184 +*/
1.185 +
1.186 +#ifdef _STLP_USE_NEW_C_HEADERS
1.187 +#undef _STLP_USE_NEW_C_HEADERS
1.188 +#endif
1.189 +
1.190 +#undef _STLP_NATIVE_C_HEADER
1.191 +#ifndef __SYMBIAN32__
1.192 +#define _STLP_NATIVE_C_HEADER(x) <libc/##x>
1.193 +#endif
1.194 +#define _STLP_NATIVE_HEADER(x) <x>
1.195 +
1.196 +
1.197 +
1.198 +# define _STLP_NO_NEW_HEADER
1.199 +# define _STLP_NO_THREADS
1.200 +
1.201 +# define _STLP_NO_EXCEPTIONS
1.202 +//# define _STLP_USE_TRAP_LEAVE
1.203 +
1.204 +# define _STLP_NO_OWN_IOSTREAMS
1.205 +//# undef _STLP_OWN_IOSTREAMS
1.206 +//#define _STLP_OWN_IOSTREAMS
1.207 +#define _STLP_USE_NEW_IOSTREAMS
1.208 +# define _STLP_USE_NEWALLOC
1.209 +//# define _STLP_NO_NODE_ALLOC
1.210 +# define _STLP_NO_LONG_DOUBLE
1.211 +# define _STLP_BIG_ENDIAN
1.212 +// this one causes recursive abs() calls
1.213 +# define _STLP_LABS
1.214 +# define _STLP_LDIV
1.215 +# define _STLP_CONST_CONSTRUCTOR_BUG
1.216 +// # define _STLP_HAS_NAMESPACES
1.217 +
1.218 +//#define _STLP_NO_CSTD_FUNCTION_IMPORTS
1.219 +
1.220 +
1.221 +//#warning ********** COMPILER SETTINGS **********
1.222 +// -----------------------------------------------------------------------------
1.223 +// wstring support
1.224 +// This is a bit confusing.
1.225 +// * _STLP_NO_WCHAR_T inhibits the standard C wchar functions (Symbian doesn't
1.226 +// have them).
1.227 +// * _STLP_HAS_WCHAR_T triggers the typedef of wstring. It's based on wint_t,
1.228 +// which isn't typedef's elsewhere, so we take care of it here.
1.229 +// -----------------------------------------------------------------------------
1.230 +//#define _STLP_NO_WCHAR_T 1
1.231 +#define _STLP_HAS_WCHAR_T 1
1.232 +//typedef unsigned int wint_t;
1.233 +# include <wchar.h>
1.234 +
1.235 +#ifdef _WCHAR_T
1.236 +#warning ********** _WCHAR_T is defined **********
1.237 +#endif
1.238 +
1.239 +#define _STLP_COMPLEX_SPECIALIZATION_BUG
1.240 +#define _STLP_USE_EXCEPTIONS
1.241 +#define _STLP_EXTERN_RANGE_ERRORS
1.242 +//#define _STLP_NO_FORCE_INSTANTIATE
1.243 +//#define __BUILDING_STLPORT
1.244 +# define _STLP_NO_NEW_NEW_HEADER 1
1.245 +# define _STLP_USE_DECLSPEC
1.246 +#define _STLP_LIBSTD_CPP_NO_STATIC_VAR_
1.247 +
1.248 +#endif // _STLP_RVCT_H