5 |
|
* Project led by Terence Parr at http://www.jGuru.com |
6 |
|
* Software rights: http://www.antlr.org/license.html |
7 |
|
* |
8 |
< |
* $Id: config.hpp,v 1.1 2005-12-02 15:38:02 tim Exp $ |
8 |
> |
* $Id$ |
9 |
|
*/ |
10 |
|
|
11 |
|
/* |
43 |
|
// _MSC_VER == 1300 for Microsoft Visual C++ 7.0 |
44 |
|
#if defined(_MSC_VER) |
45 |
|
|
46 |
+ |
# if _MSC_VER < 1300 |
47 |
+ |
# define NOMINMAX |
48 |
+ |
# pragma warning(disable : 4786) |
49 |
+ |
# define min _cpp_min |
50 |
+ |
# endif |
51 |
+ |
|
52 |
|
// This warning really gets on my nerves. |
53 |
|
// It's the one about symbol longer than 256 chars, and it happens |
54 |
|
// all the time with STL. |
79 |
|
# define ANTLR_API __declspec(dllimport) |
80 |
|
# endif |
81 |
|
|
82 |
+ |
# if ( _MSC_VER < 1200 ) |
83 |
+ |
// supposedly only for MSVC5 and before... |
84 |
+ |
// Using vector<XXX> requires operator<(X,X) to be defined |
85 |
+ |
# define NEEDS_OPERATOR_LESS_THAN |
86 |
+ |
# endif |
87 |
+ |
|
88 |
|
// VC6 |
89 |
|
# if ( _MSC_VER == 1200 ) |
90 |
|
# undef ANTLR_ATOI_IN_STD |
91 |
|
# endif |
92 |
|
|
93 |
< |
// These should be verified for newer MSVC's |
93 |
> |
# if ( _MSC_VER < 1310 ) |
94 |
> |
// Supposedly only for MSVC7 and before... |
95 |
|
// Not allowed to put 'static const int XXX=20;' in a class definition |
96 |
< |
# define NO_STATIC_CONSTS |
97 |
< |
// Using vector<XXX> requires operator<(X,X) to be defined |
98 |
< |
# define NEEDS_OPERATOR_LESS_THAN |
96 |
> |
# define NO_STATIC_CONSTS |
97 |
> |
# define NO_TEMPLATE_PARTS |
98 |
> |
# endif |
99 |
> |
|
100 |
|
// No strcasecmp in the C library (so use stricmp instead) |
101 |
|
// - Anyone know which is in which standard? |
102 |
|
# define NO_STRCASECMP |
103 |
|
# undef ANTLR_CCTYPE_NEEDS_STD |
104 |
< |
|
91 |
< |
// needed for CharScannerLiteralsLess |
92 |
< |
# define NO_TEMPLATE_PARTS |
93 |
< |
|
104 |
> |
# define NO_STATIC_CONSTS |
105 |
|
#endif // End of Microsoft Visual C++ |
106 |
|
|
107 |
|
/*}}}*/ |
184 |
|
|
185 |
|
// No strcasecmp in the C library (so use stricmp instead) |
186 |
|
// - Anyone know which is in which standard? |
187 |
+ |
#if (defined(_AIX) && (__IBMCPP__ >= 600)) |
188 |
+ |
# define NO_STATIC_CONSTS |
189 |
+ |
#else |
190 |
|
# define NO_STRCASECMP |
191 |
|
# undef ANTLR_CCTYPE_NEEDS_STD |
192 |
+ |
#endif |
193 |
|
|
194 |
|
#endif // end IBM VisualAge C++ |
195 |
|
/*}}}*/ |
266 |
|
/*}}}*/ |
267 |
|
/*****************************************************************************/ |
268 |
|
#ifdef __BORLANDC__ |
269 |
< |
#if __BORLANDC__ >= 560 |
270 |
< |
#include <ctype> |
271 |
< |
#include <stdlib> |
272 |
< |
#define ANTLR_CCTYPE_NEEDS_STD |
273 |
< |
#else |
274 |
< |
#error "sorry, compiler is too old - consider an update." |
269 |
> |
# if __BORLANDC__ >= 560 |
270 |
> |
# include <ctype> |
271 |
> |
# include <stdlib> |
272 |
> |
# define ANTLR_CCTYPE_NEEDS_STD |
273 |
> |
# else |
274 |
> |
# error "sorry, compiler is too old - consider an update." |
275 |
> |
# endif |
276 |
|
#endif |
261 |
– |
#endif |
277 |
|
|
278 |
|
// Redefine these for backwards compatability.. |
279 |
|
#undef ANTLR_BEGIN_NAMESPACE |