williamr@2: /* williamr@2: * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. williamr@2: williamr@2: * Redistribution and use in source and binary forms, with or without williamr@2: * modification, are permitted provided that the following conditions are met: williamr@2: williamr@2: * Redistributions of source code must retain the above copyright notice, this williamr@2: * list of conditions and the following disclaimer. williamr@2: * Redistributions in binary form must reproduce the above copyright notice, williamr@2: * this list of conditions and the following disclaimer in the documentation williamr@2: * and/or other materials provided with the distribution. williamr@2: * Neither the name of Nokia Corporation nor the names of its contributors williamr@2: * may be used to endorse or promote products derived from this software williamr@2: * without specific prior written permission. williamr@2: williamr@2: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" williamr@2: * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE williamr@2: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE williamr@2: * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE williamr@2: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL williamr@2: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR williamr@2: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER williamr@2: * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, williamr@2: * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE williamr@2: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. williamr@2: * williamr@2: * Description: williamr@2: * williamr@2: */ williamr@2: williamr@2: // ============================================================================= williamr@2: // stl_rvct.h williamr@2: // This is a list of settings for STLport specific to the ARM RVCT compiler. williamr@2: // Do not include this file directly. williamr@2: // ============================================================================= williamr@2: williamr@2: # ifndef _STLP_RVCT_H williamr@2: # define _STLP_RVCT_H williamr@2: williamr@2: williamr@2: #if defined(__WINS__) williamr@2: # 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) williamr@2: # define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 williamr@2: // Uncomment if partial order of template functions is not available williamr@2: # define _STLP_NO_FUNC_PARTIAL_ORDERING 1 williamr@2: #endif williamr@2: williamr@2: #ifndef _STLP_NO_IOSTREAMS williamr@2: //# define _STLP_NO_IOSTREAMS 1 williamr@2: #endif williamr@2: williamr@2: //# undef _STLP_OWN_IOSTREAMS williamr@2: //#define _STLP_OWN_IOSTREAMS williamr@2: #define _STLP_USE_NEW_IOSTREAMS williamr@2: //# define _STLP_NO_NATIVE_MBSTATE_T 1 williamr@2: //# define _NOTHREADS 1 williamr@2: //# define _STLP_NO_TYPEINFO 1 williamr@2: williamr@2: #ifndef __PLACEMENT_NEW_INLINE williamr@2: #ifndef __E32STD_H__ williamr@2: #ifdef __cplusplus williamr@2: inline void * operator new(unsigned int, void *_P) throw() { return (_P); } williamr@2: inline void operator delete(void* /*aPtr*/, void* /*aBase*/) __NO_THROW {} williamr@2: #endif williamr@2: #define __PLACEMENT_NEW_INLINE williamr@2: #endif // E32STD_H williamr@2: #endif williamr@2: williamr@2: williamr@2: //========================================================== williamr@2: williamr@2: // the values choosen here as defaults try to give williamr@2: // maximum functionality on the most conservative settings williamr@2: williamr@2: // Mostly correct guess, change it for Alpha (and other environments williamr@2: // that has 64-bit "long") williamr@2: # define _STLP_UINT32_T unsigned long williamr@2: williamr@2: williamr@2: // Define if wchar_t is not a unique type, and is actually a typedef to unsigned short. williamr@2: // # define _STLP_WCHAR_T_IS_USHORT 1 williamr@2: williamr@2: // Uncomment if long long is available williamr@2: # define _STLP_LONG_LONG long long williamr@2: williamr@2: // Uncomment if long double is not available williamr@2: // # define _STLP_NO_LONG_DOUBLE 1 williamr@2: williamr@2: // Uncomment this if your compiler does not support namespaces williamr@2: //# define _STLP_HAS_NO_NAMESPACES 1 williamr@2: williamr@2: // Uncomment if "using" keyword does not work with template types williamr@2: // # define _STLP_BROKEN_USING_DIRECTIVE 1 williamr@2: williamr@2: // Uncomment this if your compiler does not support exceptions williamr@2: //# define _STLP_HAS_NO_EXCEPTIONS 1 williamr@2: //# define _STLP_USE_TRAP_LEAVE 1 williamr@2: williamr@2: // Header that comes with the compiler williamr@2: // does not define bad_alloc exception williamr@2: //#if defined(__WINS__) williamr@2: // Possibly required ??? williamr@2: # define _STLP_NO_BAD_ALLOC 1 williamr@2: //#endif williamr@2: williamr@2: // Uncomment if member template methods are not available williamr@2: // # define _STLP_NO_MEMBER_TEMPLATES 1 williamr@2: williamr@2: // Uncomment if member template classes are not available williamr@2: #if defined(__WINS__) williamr@2: # define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 williamr@2: #endif williamr@2: williamr@2: // Uncomment if friend member templates are not available williamr@2: #if defined(__WINS__) williamr@2: // Possibly required ??? williamr@2: //# define _STLP_NO_FRIEND_TEMPLATES 1 williamr@2: #endif williamr@2: williamr@2: // Compiler does not accept friend declaration qualified with namespace name. williamr@2: // # define _STLP_NO_QUALIFIED_FRIENDS 1 williamr@2: williamr@2: // Uncomment if partial specialization is not available williamr@2: #if defined(__WINS__) williamr@2: # define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 williamr@2: #endif williamr@2: williamr@2: // Define if class being partially specialized require full name (template parameters) williamr@2: // of itself for method declarations williamr@2: // # define _STLP_PARTIAL_SPEC_NEEDS_TEMPLATE_ARGS williamr@2: williamr@2: // Compiler has problems specializing members of partially williamr@2: // specialized class williamr@2: // # define _STLP_MEMBER_SPECIALIZATION_BUG williamr@2: williamr@2: // Compiler requires typename keyword on outline method definition williamr@2: // explicitly taking nested types/typedefs williamr@2: // #define _STLP_TYPENAME_ON_RETURN_TYPE williamr@2: williamr@2: // * _STLP_STATIC_CONST_INIT_BUG: defined if the compiler can't handle a williamr@2: // constant-initializer in the declaration of a static const data member williamr@2: // of integer type. (See section 9.4.2, paragraph 4, of the C++ standard.) williamr@2: #if defined(__WINS__) williamr@2: # define _STLP_STATIC_CONST_INIT_BUG williamr@2: #endif williamr@2: williamr@2: // Define if default constructor for builtin integer type fails to initialize it to 0 williamr@2: // # define _STLP_DEFAULT_CONSTRUCTOR_BUG 1 williamr@2: williamr@2: // Defined if constructor williamr@2: // required to explicitly call member's default constructors for const objects williamr@2: // # define _STLP_CONST_CONSTRUCTOR_BUG 1 williamr@2: williamr@2: // Define this if compiler lacks header williamr@2: # define _STLP_NO_EXCEPTION_HEADER 1 williamr@2: williamr@2: // Uncomment if native new-style C library headers lile , etc are not available. williamr@2: # define _STLP_HAS_NO_NEW_C_HEADERS 1 williamr@2: williamr@2: // uncomment if new-style headers is available williamr@2: // # define _STLP_HAS_NEW_NEW_HEADER 1 williamr@2: williamr@2: // uncomment this if and other STD headers put their stuff in ::namespace, williamr@2: // not std:: williamr@2: // # define _STLP_VENDOR_GLOBAL_STD williamr@2: williamr@2: // uncomment this if and the like put stuff in ::namespace, williamr@2: // not std:: williamr@2: # define _STLP_VENDOR_GLOBAL_CSTD williamr@2: /* williamr@2: # ifdef _PTHREADS williamr@2: # undef _PTHREADS williamr@2: # endif williamr@2: # ifdef _STLP_PTHREADS williamr@2: # undef _STLP_PTHREADS williamr@2: # endif williamr@2: # ifdef _STLP_THREADS williamr@2: # undef _STLP_THREADS williamr@2: # endif williamr@2: */ williamr@2: williamr@2: #ifdef _STLP_USE_NEW_C_HEADERS williamr@2: #undef _STLP_USE_NEW_C_HEADERS williamr@2: #endif williamr@2: williamr@2: #undef _STLP_NATIVE_C_HEADER williamr@2: #ifndef __SYMBIAN32__ williamr@2: #define _STLP_NATIVE_C_HEADER(x) williamr@2: #endif williamr@2: #define _STLP_NATIVE_HEADER(x) williamr@2: williamr@2: williamr@2: williamr@2: # define _STLP_NO_NEW_HEADER williamr@2: # define _STLP_NO_THREADS williamr@2: williamr@2: # define _STLP_NO_EXCEPTIONS williamr@2: //# define _STLP_USE_TRAP_LEAVE williamr@2: williamr@2: # define _STLP_NO_OWN_IOSTREAMS williamr@2: //# undef _STLP_OWN_IOSTREAMS williamr@2: //#define _STLP_OWN_IOSTREAMS williamr@2: #define _STLP_USE_NEW_IOSTREAMS williamr@2: # define _STLP_USE_NEWALLOC williamr@2: //# define _STLP_NO_NODE_ALLOC williamr@2: # define _STLP_NO_LONG_DOUBLE williamr@2: # define _STLP_BIG_ENDIAN williamr@2: // this one causes recursive abs() calls williamr@2: # define _STLP_LABS williamr@2: # define _STLP_LDIV williamr@2: # define _STLP_CONST_CONSTRUCTOR_BUG williamr@2: // # define _STLP_HAS_NAMESPACES williamr@2: williamr@2: //#define _STLP_NO_CSTD_FUNCTION_IMPORTS williamr@2: williamr@2: williamr@2: //#warning ********** COMPILER SETTINGS ********** williamr@2: // ----------------------------------------------------------------------------- williamr@2: // wstring support williamr@2: // This is a bit confusing. williamr@2: // * _STLP_NO_WCHAR_T inhibits the standard C wchar functions (Symbian doesn't williamr@2: // have them). williamr@2: // * _STLP_HAS_WCHAR_T triggers the typedef of wstring. It's based on wint_t, williamr@2: // which isn't typedef's elsewhere, so we take care of it here. williamr@2: // ----------------------------------------------------------------------------- williamr@2: //#define _STLP_NO_WCHAR_T 1 williamr@2: #define _STLP_HAS_WCHAR_T 1 williamr@2: //typedef unsigned int wint_t; williamr@2: # include williamr@2: williamr@2: #ifdef _WCHAR_T williamr@2: #warning ********** _WCHAR_T is defined ********** williamr@2: #endif williamr@2: williamr@2: #define _STLP_COMPLEX_SPECIALIZATION_BUG williamr@2: #define _STLP_USE_EXCEPTIONS williamr@2: #define _STLP_EXTERN_RANGE_ERRORS williamr@2: //#define _STLP_NO_FORCE_INSTANTIATE williamr@2: //#define __BUILDING_STLPORT williamr@2: # define _STLP_NO_NEW_NEW_HEADER 1 williamr@2: # define _STLP_USE_DECLSPEC williamr@2: #define _STLP_LIBSTD_CPP_NO_STATIC_VAR_ williamr@2: williamr@2: #endif // _STLP_RVCT_H