ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/antlr/config.hpp
Revision: 1633
Committed: Thu Sep 15 13:39:36 2011 UTC (13 years, 7 months ago) by gezelter
File size: 8545 byte(s)
Log Message:
Updated antlr, fixed a clang compilation bug, removed a warning message

File Contents

# User Rev Content
1 tim 770 #ifndef INC_config_hpp__
2     #define INC_config_hpp__
3    
4     /* ANTLR Translator Generator
5     * Project led by Terence Parr at http://www.jGuru.com
6     * Software rights: http://www.antlr.org/license.html
7     *
8 gezelter 1442 * $Id$
9 tim 770 */
10    
11     /*
12     * Just a simple configuration file to differentiate between the
13     * various compilers used and reconfigure stuff for any oddities of the
14     * compiler in question.
15     *
16     * These are the defaults. Per compiler these are amended.
17     */
18     #define ANTLR_USE_NAMESPACE(_x_) _x_::
19     #define ANTLR_USING_NAMESPACE(_x_) using namespace _x_;
20     #define ANTLR_CXX_SUPPORTS_NAMESPACE 1
21     #define ANTLR_C_USING(_x_)
22     #define ANTLR_API
23     #ifndef CUSTOM_API
24     # define CUSTOM_API
25     #endif
26     #define ANTLR_IOS_BASE ios_base
27     /** define if cctype functions/macros need a std:: prefix. A lot of compilers
28     * define these as macros, in which case something barfs.
29     */
30     #define ANTLR_CCTYPE_NEEDS_STD
31    
32     /// Define if C++ compiler supports std::uncaught_exception
33     #define ANTLR_CXX_SUPPORTS_UNCAUGHT_EXCEPTION
34    
35     #define ANTLR_ATOI_IN_STD
36    
37     /******************************************************************************/
38     /*{{{ Microsoft Visual C++ */
39     // NOTE: If you provide patches for a specific MSVC version guard them for
40     // the specific version!!!!
41     // _MSC_VER == 1100 for Microsoft Visual C++ 5.0
42     // _MSC_VER == 1200 for Microsoft Visual C++ 6.0
43     // _MSC_VER == 1300 for Microsoft Visual C++ 7.0
44     #if defined(_MSC_VER)
45    
46 gezelter 1633 # if _MSC_VER < 1300
47     # define NOMINMAX
48     # pragma warning(disable : 4786)
49     # define min _cpp_min
50     # endif
51    
52 tim 770 // 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.
55     # pragma warning( disable : 4786 4231 )
56     // this shuts up some DLL interface warnings for STL
57     # pragma warning( disable : 4251 )
58    
59     # ifdef ANTLR_CXX_USE_STLPORT
60     # undef ANTLR_CXX_SUPPORTS_UNCAUGHT_EXCEPTION
61     # endif
62    
63     # if ( _MSC_VER < 1300 ) && ( defined(ANTLR_EXPORTS) || defined(ANTLR_IMPORTS) )
64     # error "DLL Build not supported on these MSVC versions."
65     // see comment in lib/cpp/src/dll.cpp
66     # endif
67    
68     // For the DLL support originally contributed by Stephen Naughton
69     // If you are building statically leave ANTLR_EXPORTS/ANTLR_IMPORTS undefined
70     // If you are building the DLL define ANTLR_EXPORTS
71     // If you are compiling code to be used with the DLL define ANTLR_IMPORTS
72     # ifdef ANTLR_EXPORTS
73     # undef ANTLR_API
74     # define ANTLR_API __declspec(dllexport)
75     # endif
76    
77     # ifdef ANTLR_IMPORTS
78     # undef ANTLR_API
79     # define ANTLR_API __declspec(dllimport)
80     # endif
81    
82 gezelter 1633 # 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 tim 770 // VC6
89     # if ( _MSC_VER == 1200 )
90     # undef ANTLR_ATOI_IN_STD
91     # endif
92    
93 gezelter 1633 # if ( _MSC_VER < 1310 )
94     // Supposedly only for MSVC7 and before...
95 tim 770 // Not allowed to put 'static const int XXX=20;' in a class definition
96 gezelter 1633 # define NO_STATIC_CONSTS
97     # define NO_TEMPLATE_PARTS
98     # endif
99    
100 tim 770 // No strcasecmp in the C library (so use stricmp instead)
101     // - Anyone know which is in which standard?
102 gezelter 1633 # define NO_STRCASECMP
103 tim 770 # undef ANTLR_CCTYPE_NEEDS_STD
104 gezelter 1633 # define NO_STATIC_CONSTS
105 tim 770 #endif // End of Microsoft Visual C++
106    
107     /*}}}*/
108     /******************************************************************************/
109     /*{{{ SunPro Compiler (Using OBJECTSPACE STL)
110     *****************************************************************************/
111     #ifdef __SUNPRO_CC
112    
113     # if (__SUNPRO_CC >= 0x500)
114    
115     # define NEEDS_OPERATOR_LESS_THAN
116     # define NO_TEMPLATE_PARTS
117    
118     # else
119    
120     # undef namespace
121     # define namespace
122    
123     # if (__SUNPRO_CC == 0x420)
124    
125     /* This code is specif to SunWspro Compiler 4.2, and will compile with
126     the objectspace 2.1 toolkit for Solaris2.6 */
127     # define HAS_NOT_CASSERT_H
128     # define HAS_NOT_CSTRING_H
129     # define HAS_NOT_CCTYPE_H
130     # define HAS_NOT_CSTDIO_H
131     # define HAS_OSTREAM_H
132    
133     /* #define OS_SOLARIS_2_6
134     #define OS_NO_WSTRING
135     #define OS_NO_ALLOCATORS
136     #define OS_MULTI_THREADED
137     #define OS_SOLARIS_NATIVE
138     #define OS_REALTIME
139     #define __OSVERSION__=5
140     #define SVR4
141     */
142    
143     // ObjectSpace + some specific templates constructions with stl.
144     /* #define OS_NO_ALLOCATOR */
145    
146     // This great compiler does not have the namespace feature.
147     # undef ANTLR_USE_NAMESPACE
148     # define ANTLR_USE_NAMESPACE(_x_)
149     # undef ANTLR_USING_NAMESPACE
150     # define ANTLR_USING_NAMESPACE(_x_)
151     # undef ANTLR_CXX_SUPPORTS_NAMESPACE
152     # endif // End __SUNPRO_CC == 0x420
153    
154     # undef explicit
155     # define explicit
156    
157     # define exception os_exception
158     # define bad_exception os_bad_exception
159    
160     // Not allowed to put 'static const int XXX=20;' in a class definition
161     # define NO_STATIC_CONSTS
162     // Using vector<XXX> requires operator<(X,X) to be defined
163     # define NEEDS_OPERATOR_LESS_THAN
164    
165     # endif
166    
167     # undef ANTLR_CCTYPE_NEEDS_STD
168    
169     #endif // end __SUNPRO_CC
170     /*}}}*/
171     /*****************************************************************************/
172     /*{{{ Inprise C++ Builder 3.0
173     *****************************************************************************/
174     #ifdef __BCPLUSPLUS__
175     # define NO_TEMPLATE_PARTS
176 gezelter 1633 # define NO_STRCASECMP
177 tim 770 # undef ANTLR_CCTYPE_NEEDS_STD
178     #endif // End of C++ Builder 3.0
179     /*}}}*/
180     /*****************************************************************************/
181     /*{{{ IBM VisualAge C++ ( which includes the Dinkumware C++ Library )
182     *****************************************************************************/
183     #ifdef __IBMCPP__
184    
185     // No strcasecmp in the C library (so use stricmp instead)
186     // - Anyone know which is in which standard?
187 gezelter 1633 #if (defined(_AIX) && (__IBMCPP__ >= 600))
188     # define NO_STATIC_CONSTS
189     #else
190     # define NO_STRCASECMP
191 tim 770 # undef ANTLR_CCTYPE_NEEDS_STD
192 gezelter 1633 #endif
193 tim 770
194     #endif // end IBM VisualAge C++
195     /*}}}*/
196     /*****************************************************************************/
197     /*{{{ Metrowerks Codewarrior
198     *****************************************************************************/
199     #ifdef __MWERKS__
200     # if (__MWERKS__ <= 0x2201)
201     # define NO_TEMPLATE_PARTS
202     # endif
203    
204     // CW 6.0 and 7.0 still do not have it.
205 gezelter 1633 # define ANTLR_REALLY_NO_STRCASECMP
206 tim 770
207     # undef ANTLR_C_USING
208     # define ANTLR_C_USING(_x_) using std:: ## _x_;
209    
210     # define ANTLR_CCTYPE_NEEDS_STD
211     # undef ANTLR_CXX_SUPPORTS_UNCAUGHT_EXCEPTION
212    
213     #endif // End of Metrowerks Codewarrior
214     /*}}}*/
215     /*****************************************************************************/
216     /*{{{ SGI Irix 6.5.10 MIPSPro compiler
217     *****************************************************************************/
218     // (contributed by Anna Winkler)
219     // Note: you can't compile ANTLR with the MIPSPro compiler on
220     // anything < 6.5.10 because SGI just fixed a big bug dealing with
221     // namespaces in that release.
222     #ifdef __sgi
223     # define HAS_NOT_CCTYPE_H
224     # define HAS_NOT_CSTRING_H
225     # define HAS_NOT_CSTDIO_H
226     # undef ANTLR_CCTYPE_NEEDS_STD
227     #endif // End IRIX MIPSPro
228     /*}}}*/
229     /*****************************************************************************/
230     /*{{{ G++ in various incarnations
231     *****************************************************************************/
232     // With the gcc-2.95 and 3.0 being in the near future we should start handling
233     // incompatabilities between the various libstdc++'s.
234     #if defined(__GNUC__) || defined(__GNUG__)
235     // gcc 2 branch..
236     # if (__GNUC__ == 2 )
237     # if (__GNUC_MINOR__ <= 8 )
238     # undef ANTLR_USE_NAMESPACE
239     # define ANTLR_USE_NAMESPACE(_x_)
240     # undef ANTLR_USING_NAMESPACE
241     # define ANTLR_USING_NAMESPACE(_x_)
242     # undef ANTLR_CXX_SUPPORTS_NAMESPACE
243     # endif
244     # if (__GNUC_MINOR__ > 8 && __GNUC_MINOR__ <= 95 )
245     # undef ANTLR_IOS_BASE
246     # define ANTLR_IOS_BASE ios
247     # undef ANTLR_CCTYPE_NEEDS_STD
248 gezelter 1633 // compiling with -ansi ?
249     # ifdef __STRICT_ANSI__
250     # undef ANTLR_REALLY_NO_STRCASECMP
251     # define ANTLR_REALLY_NO_STRCASECMP
252     # endif
253 tim 770 # else
254     // experimental .96 .97 branches..
255     # undef ANTLR_CCTYPE_NEEDS_STD
256     # endif
257     # endif
258     #endif // ! __GNUC__
259     /*}}}*/
260     /*****************************************************************************/
261     /*{{{ Digital CXX (Tru64)
262     *****************************************************************************/
263     #ifdef __DECCXX
264     #define __USE_STD_IOSTREAM
265     #endif
266     /*}}}*/
267     /*****************************************************************************/
268     #ifdef __BORLANDC__
269 gezelter 1633 # 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 tim 770 #endif
277    
278     // Redefine these for backwards compatability..
279     #undef ANTLR_BEGIN_NAMESPACE
280     #undef ANTLR_END_NAMESPACE
281    
282     #if ANTLR_CXX_SUPPORTS_NAMESPACE == 1
283     # define ANTLR_BEGIN_NAMESPACE(_x_) namespace _x_ {
284     # define ANTLR_END_NAMESPACE }
285     #else
286     # define ANTLR_BEGIN_NAMESPACE(_x_)
287     # define ANTLR_END_NAMESPACE
288     #endif
289    
290     #endif //INC_config_hpp__

Properties

Name Value
svn:keywords Author Id Revision Date