ReactOS 0.4.15-dev-7918-g2a2556c
_como.h
Go to the documentation of this file.
1
2// STLport configuration file
3// It is internal STLport header - DO NOT include it directly
4
5#define _STLP_COMPILER "Comeau"
6
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
98namespace 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
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
_Check_return_ float __cdecl logf(_In_ float x)
Definition: math.h:229
_Check_return_ __CRT_INLINE long double expl(_In_ long double x)
Definition: math.h:252
_Check_return_ __CRT_INLINE long double logl(_In_ long double x)
Definition: math.h:258
#define a
Definition: ke_i.h:78
#define b
Definition: ke_i.h:79
DWORD exp
Definition: msg.c:16058
#define min(a, b)
Definition: monoChain.cc:55
Definition: features.h:417
#define log(outFile, fmt,...)
Definition: util.h:15