mirror of https://github.com/CGAL/cgal
Upgrade of the CFG as we don't test it during installation
This commit is contained in:
parent
e392b3f7ea
commit
e079dcb8ff
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 1997-2002 Utrecht University (The Netherlands),
|
||||
// Copyright (c) 1996-2004 Utrecht University (The Netherlands),
|
||||
// ETH Zurich (Switzerland), Freie Universitaet Berlin (Germany),
|
||||
// INRIA Sophia-Antipolis (France), Martin-Luther-University Halle-Wittenberg
|
||||
// (Germany), Max-Planck-Institute Saarbruecken (Germany), RISC Linz (Austria),
|
||||
|
|
@ -9,24 +9,14 @@
|
|||
// published by the Free Software Foundation; version 2.1 of the License.
|
||||
// See the file LICENSE.LGPL distributed with CGAL.
|
||||
//
|
||||
// Licensees holding a valid commercial license may use this file in
|
||||
// accordance with the commercial license agreement provided with the software.
|
||||
//
|
||||
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
//
|
||||
// $URL$
|
||||
// $Id$
|
||||
//
|
||||
//
|
||||
// Author(s) : Radu Ursu
|
||||
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
// The compiler has to provide a Standard Template Library
|
||||
//+--------------------------------------------------------------------------
|
||||
// STL test ok
|
||||
// Author(s): the install_cgal script
|
||||
|
||||
// Compiler specific configuration file for CGAL 3.2-I-437
|
||||
// System: i686_CYGWINNT-5.1_CL.EXE-1310
|
||||
// generated by install_cgal 30348
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_CCTYPE_MACRO_BUG is set, if a compiler defines the
|
||||
//| standard C library functions in cctype (isdigit etc.) as macros.
|
||||
|
|
@ -35,18 +25,39 @@
|
|||
//#define CGAL_CFG_CCTYPE_MACRO_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_EARLY_INSTANTIATION_BUG is set, if a compiler does not
|
||||
//| not how to compile the following code. See the solution bellow.
|
||||
//| Created to workaround a cl1300 bug
|
||||
//| This flag is set, if the compiler does not properly parse comma separated
|
||||
//| expressions in a base constructor call. (e.g. g++ 3.3).
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_EARLY_INSTANTIATION_BUG 1
|
||||
//#define CGAL_CFG_COMMA_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if the compiler does not promote enumeration types
|
||||
//| (which depend on a template parameter) correctly when they are used
|
||||
//| as int template arguments. (e.g. Borland 5.5)
|
||||
//| The flag CGAL_CFG_CONVERSION_OPERATOR_BUG is set, if a compiler
|
||||
//| crashes with some conversion operators. G++ 3.3.0 is affected by
|
||||
//| this bug (it hits Darwin severely since it is the system compiler).
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_ENUM_BUG 1
|
||||
//#define CGAL_CFG_CONVERSION_OPERATOR_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler wants you to remove the word
|
||||
//| template in some complicated dependent types.
|
||||
//| Any error with the message "Unexpected type name" is likely to be
|
||||
//| related to this bug in sunpro.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler bugs when handling denormal values at
|
||||
//| compile time. At least PGCC 5.1-3 has the bug.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_DENORMALS_COMPILE_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler bugs with special features with IEEE 754
|
||||
//| handling, concerning is_valid() and is_finite() testing of infinity and
|
||||
//| nans. The workaround is to use bitfield operations.
|
||||
//| At least VC++, Borland and PGCC have the bug.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_IEEE_754_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| If a compiler (or assembler or linker) has problems with long names
|
||||
|
|
@ -54,14 +65,6 @@
|
|||
//+--------------------------------------------------------------------------
|
||||
#define CGAL_CFG_LONGNAME_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if the compiler does not match the most
|
||||
//| specialized instance of a function template correctly,
|
||||
//| but complains about multiple matches.
|
||||
//| (e.g. VC++ 7)
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_MATCHING_BUG_2 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if the compiler does not match function arguments
|
||||
//| of pointer type correctly, when the return type depends on
|
||||
|
|
@ -70,8 +73,51 @@
|
|||
//#define CGAL_CFG_MATCHING_BUG_3 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if the compiler does not match member
|
||||
//| definition to an existing declaration (eg. cl1310 Beta)
|
||||
//| This flag is set, if a compiler cannot distinguish the signature
|
||||
//| of overloaded function templates, which have arguments whose type
|
||||
//| depends on the template parameter.
|
||||
//| This bug appears for example on Sunpro 5.3 and 5.4.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_MATCHING_BUG_4 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if a compiler cannot distinguish the signature
|
||||
//| of overloaded function templates, which have one template parameter
|
||||
//| to be passed explicitely when being called.
|
||||
//| This bug appears for example on g++ 3.3 and 3.4.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_MATCHING_BUG_5 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| VC 7.3 does not recognize when an operator in a class
|
||||
//| redefines the operator with the same signature in a base class
|
||||
//| It happens with the regular triangulation.
|
||||
//| No minimal testcase yet
|
||||
//+--------------------------------------------------------------------------
|
||||
#define CGAL_CFG_MATCHING_BUG_6 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG is set,
|
||||
//| if the std::vector class does not have defined template constructors.
|
||||
//| This is a feature of SunPro 5.5.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_MISSING_TEMPLATE_VECTOR_CONSTRUCTORS_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG.C is set
|
||||
//| if the compiler cannot recognize the declaration of a nested
|
||||
//| class as friend.
|
||||
//| Compilers such as the Intel compiler 8.x (for linux or windows),
|
||||
//| MSVC 7.1 or pgCC have this "bug". It should be noted that the C++
|
||||
//| standard is a bit vague on this issue, in other words what is referred
|
||||
//| to as "bug" above, may not really be a bug. Hopefully, the next standard
|
||||
//| will resolve this issue.
|
||||
//+--------------------------------------------------------------------------
|
||||
#define CGAL_CFG_NESTED_CLASS_FRIEND_DECLARATION_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set, if the compiler does not match a member
|
||||
//| definition to an existing declaration (eg., cl1310 Beta).
|
||||
//+--------------------------------------------------------------------------
|
||||
#define CGAL_CFG_NET2003_MATCHING_BUG 1
|
||||
|
||||
|
|
@ -119,6 +165,12 @@
|
|||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_LOCALE 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| Tests if std::cout supports long double IO.
|
||||
//| pgCC 5.2-2 has this bug (only has for double and float).
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_LONG_DOUBLE_IO 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The long long built-in integral type is not part of the ISO C++ standard,
|
||||
//| but many compilers support it nevertheless since it's part of the ISO
|
||||
|
|
@ -127,12 +179,6 @@
|
|||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_LONG_LONG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| If a compiler doesn't support partial specialisation of class templates,
|
||||
//| the flag CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION is set.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_PARTIAL_CLASS_TEMPLATE_SPECIALISATION 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_NO_STDC_NAMESPACE is set, if a compiler does not
|
||||
//| put the parts of the standard library inherited from the standard
|
||||
|
|
@ -140,6 +186,12 @@
|
|||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_STDC_NAMESPACE 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| A basic test for the STL.
|
||||
//| If it fails, it probably means a bad CGAL installation.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_NO_STL 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| G++ 2.95.2 has problems with member functions implemented outside of
|
||||
//| the class body if this member function has a parameter type that is
|
||||
|
|
@ -157,31 +209,73 @@
|
|||
//#define CGAL_CFG_NO_TMPL_IN_TMPL_PARAM 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set, if
|
||||
//| a compiler does not support the definition of the members templates
|
||||
//| out of line. The solution is to put the definition inside the class.
|
||||
//| This is a feature of cl1200 and cl1300
|
||||
//| The flag CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP is set,
|
||||
//| if a compiler does not support the two stage name lookup.
|
||||
//| This is a bug of G++ < 3.4 for example.
|
||||
//| Note that the program fails when the feature works,
|
||||
//| which is different from the other test programs.
|
||||
//+--------------------------------------------------------------------------
|
||||
#define CGAL_CFG_NO_TWO_STAGE_NAME_LOOKUP 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler complains about an ambiguity between
|
||||
//| a type and itself when some members are defined out of line. This is
|
||||
//| a Sun CC bug.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG is set,
|
||||
//| if a compiler does not support the definition of member templates
|
||||
//| out of line, i.e. outside class scope. The solution is to put the
|
||||
//| definition inside the class. This is a feature of SunPro 5.5.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| If a compiler does not accept the overloading of a template function, when
|
||||
//| the template returns a reference, while the overloading doesn't.
|
||||
//| In that case, CGAL_CFG_RETURN_TYPE_BUG is set.
|
||||
//| This bug shows up on VC++ 6, and VC++ 7 beta 2.
|
||||
//| The flag CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 is set,
|
||||
//| if a compiler does not support the definition of member templates
|
||||
//| out of line, i.e. outside class scope. The solution is to put the
|
||||
//| definition inside the class.
|
||||
//| The difference with CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG
|
||||
//| is the return type of the member template.SunPro 5.5 should be OK with
|
||||
//| this code.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_RETURN_TYPE_BUG 1
|
||||
//#define CGAL_CFG_OUTOFLINE_TEMPLATE_MEMBER_DEFINITION_BUG_2 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| The flag CGAL_CFG_USING_NAMESPACE_BUG is set, if a compiler does not
|
||||
//| not how to compile the following code.
|
||||
//| Created to workaround a cl1300 bug
|
||||
//| This flag is set if the compiler is Sun's compiler and it uses the
|
||||
//| old Rogue Wave STL.
|
||||
//| The workarounds consist in faking iterator_traits and using a wrapper
|
||||
//| to reverse_iterator
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_USING_NAMESPACE_BUG 1
|
||||
//#define CGAL_CFG_SUNPRO_RWSTD 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This is a test-case for a bug in VC++ 7.0 beta2 that occurs in the kernel.
|
||||
//| When the bug is present, CGAL_CFG_VC7_PRIVATE_TYPE_BUG is set.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_VC7_PRIVATE_TYPE_BUG 1
|
||||
#define CGAL_CFG_TYPENAME_BEFORE_DEFAULT_ARGUMENT_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler doesn't support "using Base::Member;" in
|
||||
//| a derived class. The workaround is to write a forwarder.
|
||||
//| At least g++ 2.95 and SunPro CC 5.3 have this bug.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||
//| a derived class. The workaround is to write a forwarder or not use using.
|
||||
//| At least SunPro CC 5.3 has this bug where the typical error message is :
|
||||
//| "Error: The function B<int>::g() has not had a body defined."
|
||||
//| Note that the subtlely is that the error message does not mention
|
||||
//| "Member"...
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_2 1
|
||||
|
||||
//+--------------------------------------------------------------------------
|
||||
//| This flag is set if the compiler bugs with some "using Base::Member;" in
|
||||
//| a derived class, when there is a typedef of the base class.
|
||||
//| The workaround is to write a forwarder or not use using.
|
||||
//| At least MipsPRO CC 7.4 has this bug.
|
||||
//+--------------------------------------------------------------------------
|
||||
//#define CGAL_CFG_USING_BASE_MEMBER_BUG_3 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue