Rocstar
1.0
Rocstar multiphysics simulation application
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
compiler_config.h
Go to the documentation of this file.
1
/* *******************************************************************
2
* Rocstar Simulation Suite *
3
* Copyright@2015, Illinois Rocstar LLC. All rights reserved. *
4
* *
5
* Illinois Rocstar LLC *
6
* Champaign, IL *
7
* www.illinoisrocstar.com *
8
* sales@illinoisrocstar.com *
9
* *
10
* License: See LICENSE file in top level of distribution package or *
11
* http://opensource.org/licenses/NCSA *
12
*********************************************************************/
13
/* *******************************************************************
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
15
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
16
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
17
* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
18
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
19
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
20
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
21
* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
22
*********************************************************************/
23
// General compiler_config file.
24
25
//+--------------------------------------------------------------------------
26
// The compiler has to provide a Standard Template Library
27
//+--------------------------------------------------------------------------
28
// STL test ok
29
30
//+--------------------------------------------------------------------------
31
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
32
//| standard C library functions in cctype (isdigit etc.) as macros.
33
//| According to the standard they have to be functions.
34
//+--------------------------------------------------------------------------
35
#if (defined(__GNUC__) || defined(mips) || defined(__mips) || defined(_CRAYT3E))
36
#define CGAL_CFG_CCTYPE_MACRO_BUG 1
37
#endif
38
39
//+--------------------------------------------------------------------------
40
//| When a dynamic cast involves a pointer to a not yet instantiated
41
//| template class, some compilers give an error.
42
//| This program is used to detect this problem.
43
//| "CGAL_CFG_DYNAMIC_CAST_BUG.C", line 45: error(3105): the type in a
44
//| dynamic_cast must be a pointer or reference to a complete class
45
//| type, or void *
46
//| W< L<int> >* wl_ptr = dynamic_cast<W< L<int> >* >( &wp );
47
//| ^
48
//+--------------------------------------------------------------------------
49
#if (!defined(__GNUC__) && defined(__sparc))
50
#define CGAL_CFG_DYNAMIC_CAST_BUG 1
51
#endif
52
53
//+--------------------------------------------------------------------------
54
//| This flag is set, if the compiler does not match a function
55
//| argument of type typename T::A correctly.
56
//| (e.g. SGI 7.2)
57
//+--------------------------------------------------------------------------
58
//#define CGAL_CFG_MATCHING_BUG_1 1
59
60
//+--------------------------------------------------------------------------
61
//| This flag is set, if the compiler does not match the most
62
//| specialized instance of a function template correctly,
63
//| but complains about multiple matches.
64
//| (e.g. SGI 7.2)
65
//+--------------------------------------------------------------------------
66
//#define CGAL_CFG_MATCHING_BUG_2 1
67
68
//+--------------------------------------------------------------------------
69
//| When template implementation files are not included in the source files,
70
//| a compiler may attempt to find the unincluded template bodies
71
//| automatically. For example, suppose that the following conditions are
72
//| all true.
73
//|
74
//| - template entity ABC::f is declared in file xyz.h
75
//| - an instantiation of ABC::f is required in a compilation
76
//| - no definition of ABC::f appears in the source code processed by the
77
//| compilation
78
//|
79
//| In this case, the compiler may look to see if the source file xyz.n exists,
80
//| where n is .c, .C, .cpp, .CPP, .cxx, .CXX, or .cc. If this feature is
81
//| missing, the flag CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION is set.
82
//+--------------------------------------------------------------------------
83
#if (defined(__GNUC__))
84
#define CGAL_CFG_NO_AUTOMATIC_TEMPLATE_INCLUSION 1
85
#define CGAL_CFG_RETURN_TYPE_BUG_2 1
86
#endif
87
88
//+--------------------------------------------------------------------------
89
//| The byte order of a machine architecture distinguishes into
90
//| big-endian and little-endian machines.
91
//| The following definition is set if it is a little-endian machine.
92
//+--------------------------------------------------------------------------
93
#if (defined(__i386__) || defined(__i386) || defined(i386)) || \
94
(defined(__ia64__) || defined(__ia64) || defined(ia64)) || \
95
(defined(__amd64__) || defined(__amd64) || defined(__x86_64__))
96
#define CGAL_CFG_NO_BIG_ENDIAN 1
97
#elif (defined(__sparc__) || defined(__sparc) || defined(sparc)) || \
98
defined(__APPLE__) || (defined(ppc64)) || (defined(mips) || defined(__mips)) || \
99
(defined(_POWER) || defined(_CRAYT3E) || defined(__DECCXX))
100
// #else
101
// #error "Can't determine byte order--patch this"
102
#endif
103
104
//+--------------------------------------------------------------------------
105
//| This flag is set if the compiler doesn't support the operator dynamic_cast.
106
//+--------------------------------------------------------------------------
107
// #define CGAL_CFG_NO_DYNAMIC_CAST 1
108
109
//+--------------------------------------------------------------------------
110
//| If a compiler doesn't like explicit specification of
111
//| template arguments in template function calls, the flag
112
//| CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION is set.
113
//+--------------------------------------------------------------------------
114
#if (!defined(__GNUC__) && defined(__sparc))
115
#define CGAL_CFG_NO_EXPLICIT_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION 1
116
#endif
117
118
//+--------------------------------------------------------------------------
119
//| Iterator traits are documented in the Dec. 1996 C++ Standard draft.
120
//| The following definition is set if iterator are not fully supported
121
//| including their use in a template class, as a default template
122
//| argument and as a return type of global function.
123
//+--------------------------------------------------------------------------
124
#if (!defined(__GNUC__) && defined(__sparc))
125
#define CGAL_CFG_NO_ITERATOR_TRAITS 1
126
#endif
127
128
//+--------------------------------------------------------------------------
129
//| This flag is set if the compiler doesn't support the operator Koenig
130
//| lookup. That is, it does not search in the namespace of the arguments for
131
//| the function.
132
//+--------------------------------------------------------------------------
133
#if (!defined(__GNUC__) && (defined(mips) || defined(__mips)))
134
#define CGAL_CFG_NO_KOENIG_LOOKUP 1
135
#endif
136
137
//+--------------------------------------------------------------------------
138
//| If a compiler doesn't know the locale classic
139
//| CGAL_CFG_NO_LOCALE is set.
140
//+--------------------------------------------------------------------------
141
#if (!defined(__GNUC__))
142
#define CGAL_CFG_NO_LOCALE 1
143
#endif
144
145
//+--------------------------------------------------------------------------
146
//| If a compiler (or assembler or linker) has problems with long names
147
//| CGAL_CFG_NO_LONGNAME_PROBLEM is set.
148
//+--------------------------------------------------------------------------
149
//#define CGAL_CFG_NO_LONGNAME_PROBLEM 1
150
151
//+--------------------------------------------------------------------------
152
//| If a compiler doesn't know namespaces, the flag
153
//| CGAL_CFG_NO_NAMESPACE is set.
154
//+--------------------------------------------------------------------------
155
//#define CGAL_CFG_NO_NAMESPACE 1
156
157
//+--------------------------------------------------------------------------
158
//| If a compiler doesn't support partial specialisation of class templates,
159
//| the flag CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION is set.
160
//+--------------------------------------------------------------------------
161
#if (!defined(__GNUC__) && defined(__sparc))
162
#define CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION 1
163
#endif
164
165
//+--------------------------------------------------------------------------
166
//| If a compiler doesn't like explicit partial specification of
167
//| template arguments in template function calls, the flag
168
//| CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION is set.
169
//+--------------------------------------------------------------------------
170
#if (!defined(__GNUC__) && defined(__sparc))
171
#define CGAL_CFG_NO_PARTIAL_TEMPLATE_FUNCTION_ARGUMENT_SPECIFICATION 1
172
#endif
173
174
//+--------------------------------------------------------------------------
175
//| The parameter types of member functions might contain a scope
176
//| operator. This works as long as the member function is implemented
177
//| inline in the class. If the member function is implemented external
178
//| not all compilers are able to parse the scope operators correctly.
179
//| The following definition is set if the compiler fails parsing.
180
//+--------------------------------------------------------------------------
181
//#define CGAL_CFG_NO_SCOPE_MEMBER_FUNCTION_PARAMETERS 1
182
183
//+--------------------------------------------------------------------------
184
//| The flag CGAL_CFG_NO_STANDARD_HEADERS is set, if a compiler does not
185
//| support the new standard headers (i.e. without the .h suffix).
186
//+--------------------------------------------------------------------------
187
#define CGAL_CFG_NO_STANDARD_HEADERS 1
188
189
//+--------------------------------------------------------------------------
190
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
191
//| put the parts of the standard library inherited from the standard
192
//| C library in namespace std. (only tests for the symbols used in CGAL)
193
//+--------------------------------------------------------------------------
194
#if (!defined(__GNUC__) && (defined(__sparc__) || defined(mips) || defined(__mips)) || \
195
(defined(_POWER) || defined(_CRAYT3E)))
196
#define CGAL_CFG_NO_STDC_NAMESPACE 1
197
#endif
198
199
//+--------------------------------------------------------------------------
200
//| The flag CGAL_CFG_NO_STDIO_NAMESPACE is set, if a compiler does not
201
//| put the IO standard library in namespace std.
202
//+--------------------------------------------------------------------------
203
//#define CGAL_CFG_NO_STDIO_NAMESPACE 1
204
205
//+--------------------------------------------------------------------------
206
//| If a compiler doesn't know the namespace std, the flag
207
//| CGAL_CFG_NO_STD_NAMESPACE is set. Some compilers know namespace std
208
//| but don't implement namespaces in general.
209
//+--------------------------------------------------------------------------
210
//#define CGAL_CFG_NO_STD_NAMESPACE 1
211
212
//+--------------------------------------------------------------------------
213
//| Checks whether the compiler wants to have a <> in friend declarations
214
//| of template functions.
215
//+--------------------------------------------------------------------------
216
#if (! defined(__GNUC__) && (defined(_POWER) || defined(_CRAYT3E)))
217
#define CGAL_CFG_NO_TEMPLATE_FRIEND_DISTINCTION 1
218
#endif
219
220
//+--------------------------------------------------------------------------
221
//| Nested templates in template parameter, such as 'template <
222
//| template <class T> class A>' are not supported by any compiler.
223
//| The following definition is set if they are not supported.
224
//+--------------------------------------------------------------------------
225
#if (defined(__GNUC__) || defined(__sparc)) || \
226
(defined(mips) || defined(__mips) || defined(_CRAYT3ER))
227
#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
228
#endif
229
230
//+--------------------------------------------------------------------------
231
//| If a compiler complains about typename, when passing a dependent
232
//| type as template parameter, the flag CGAL_CFG_TYPENAME_BUG is set.
233
//+--------------------------------------------------------------------------
234
//#define CGAL_CFG_TYPENAME_BUG 1
235
236
237
238
239
240
Rocface
include
CGAL
compiler_config.h
Generated on Wed Nov 30 2016 16:56:06 for Rocstar by
1.8.5