_mwerks.h revision 9720d5f59b9c1f5d1b9ecbc9173dbcb71bd557be
19720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// STLport configuration file 29720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// It is internal STLport header - DO NOT include it directly 39720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 49720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_COMPILER "Metrowerk Codewarrior" 59720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 69720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Bring in definition of __MSL__ and related items 79720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <mslGlobals.h> 89720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#include <ansi_parms.h> 99720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// 119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// Compiler features 129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// 139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** CodeWarrior Compiler Common Features *** 169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __option(longlong) 179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_LONG_LONG long long 189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_UNIX_EMULATION_IO 1 219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_USE_AUTO_PTR_CONVERSIONS 1 239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# ifdef __INTEL__ 259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_LITTLE_ENDIAN 269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_BIG_ENDIAN 289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined(_MSL_NO_LOCALE) 319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#define _STLP_NO_IMPORT_LOCALE 329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if !__option( wchar_type ) 349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_WCHAR_T_IS_USHORT 359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x3000 389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** CodeWarrior Compiler Common Bugs *** 399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define __MSL_FIX_ITERATORS__(myType) // Some MSL headers rely on this 409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_FRIEND_TEMPLATES 1 // Bug mysteriously reintroduced in this version. 419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_THROW_RETURN_BUG 1 429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** Version-specific settings *** 459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ >= 0x2405 479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_NATIVE_FLOAT_ABS 489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2405 519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_STATIC_CONST_INIT_BUG 529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ <= 0x2303 559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_TEMPLATE_CONVERSIONS 1 569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2301 609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_MEMBER_SPECIALIZATION_BUG 1 619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 629720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 639720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2300 // CW Pro5 features 649720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_INLINE_MEMBER_TEMPLATES 1 659720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_RELOPS_IN_STD_BUG 1 669720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DEF_CONST_PLCT_NEW_BUG 1 679720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DEF_CONST_DEF_PARAM_BUG 1 689720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_TYPENAME_ON_RETURN_TYPE 699720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 709720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 719720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2200 // CW Pro4 features 729720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_BROKEN_USING_DIRECTIVE 1 739720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_MEMBER_TEMPLATES 1 749720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_MEMBER_TEMPLATE_CLASSES 1 759720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_MEMBER_TEMPLATE_KEYWORD 1 769720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_FRIEND_TEMPLATES 1 779720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_QUALIFIED_FRIENDS 1 789720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_FUNCTION_TMPL_PARTIAL_ORDER 1 799720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 809720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 819720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2100 // CW Pro3 features 829720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_CLASS_PARTIAL_SPECIALIZATION 1 839720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_NO_NAMESPACES 1 849720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS 1 859720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 869720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NEED_TYPENAME 1 879720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_ARROW_OPERATOR 1 889720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_TEMPLATE_PARAM_SUBTYPE_BUG 1 899720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_FORCED_INLINE_INSTANTIATION_BUG 1 909720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_MULTI_CONST_TEMPLATE_ARG_BUG 1 919720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_INLINE_NAME_RESOLUTION_BUG 1 929720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// *** Metrowerks Standard Library Bug *** 939720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_MSVC50_COMPATIBILITY 1 949720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 959720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 969720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x2000 // v. 2.0 features 979720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_WCHAR_T 1 989720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_DEFAULT_NON_TYPE_PARAM 1 999720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NON_TYPE_TMPL_PARAM_BUG 1 // dwa 8/21/97 - this bug fixed for CWPro2 1009720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1019720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1029720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x1900 // dwa 8/19/97 - 1.9 Compiler feature defines 1039720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_LIMITED_DEFAULT_TEMPLATES 1 1049720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_BASE_TYPEDEF_BUG 1 1059720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_BASE_MATCH_BUG 1 1069720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NONTEMPL_BASE_MATCH_BUG 1 1079720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DEFAULT_TYPE_PARAM 1 // More limited template parameters 1089720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1099720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ < 0x1800 1109720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block __GIVE_UP_WITH_STL(CW_18) 1119720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1129720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1139720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1149720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1159720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1169720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// fixes to native inclusion wrappers. 1179720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if __MWERKS__ >= 0x2300 // CWPro5 changes paths - dwa 2/28/99 1189720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_INCLUDE_PATH ../include 1199720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_C_INCLUDE_PATH ../include 1209720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_HEADER(header) <../include/##header> 1219720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_CPP_C_HEADER(header) <../include/##header> 1229720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_C_HEADER(header) <../include/##header> 1239720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <../include/##header> 1249720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# else 1259720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1269720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include 1279720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_C_INCLUDE_PATH Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes 1289720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> 1299720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_CPP_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C++:Include:##header> 1309720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_C_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> 1319720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NATIVE_CPP_RUNTIME_HEADER(header) <Macintosh HD:Codewarrior Pro 4:Metrowerks CodeWarrior:Metrowerks Standard Library:MSL C:MSL Common:Public Includes:##header> 1329720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1339720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1349720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1359720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block//Following block come from boost intrinsics.hpp file: 1369720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#if defined (__MSL_CPP__) && (__MSL_CPP__ >= 0x8000) 1379720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block // Metrowerks compiler is acquiring intrinsic type traits support 1389720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block // post version 8. We hook into the published interface to pick up 1399720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block // user defined specializations as well as compiler intrinsics as 1409720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block // and when they become available: 1419720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# include <msl_utility> 1429720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_TRIVIAL_CONSTRUCTOR(T) Metrowerks::has_trivial_default_ctor<T>::value 1439720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_TRIVIAL_COPY(T) Metrowerks::has_trivial_copy_ctor<T>::value 1449720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_TRIVIAL_ASSIGN(T) Metrowerks::has_trivial_assignment<T>::value 1459720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_TRIVIAL_DESTRUCTOR(T) Metrowerks::has_trivial_dtor<T>::value 1469720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_IS_POD(T) Metrowerks::is_POD<T>::value 1479720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_HAS_TYPE_TRAITS_INTRINSICS 1489720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block#endif 1499720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1509720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block// fbp 1519720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if !defined( __MSL_CPP__ ) || __MSL_CPP__ <= 0x4105 1529720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_NO_NATIVE_WIDE_STREAMS 1 1539720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1549720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block 1559720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# if defined(__MACH__) 1569720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_MAC 1579720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define O_BINARY 0 1589720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# elif defined(macintosh) 1599720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _NOTHREADS 1609720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# endif 1619720d5f59b9c1f5d1b9ecbc9173dbcb71bd557beSteve Block# define _STLP_DLLEXPORT_NEEDS_PREDECLARATION 1 162