mirror of https://github.com/CGAL/cgal
Work around yet another sunpro bug, where it complains about an ambiguity
between A and A.
This commit is contained in:
parent
cad29c7288
commit
0756f34663
|
|
@ -393,6 +393,7 @@ Coin/demo/Coin/Terrain/terrain.vcproj -text
|
|||
Coin/demo/Coin/Triangulation_3/triangulation_3.sln -text
|
||||
Coin/demo/Coin/Triangulation_3/triangulation_3.vcproj -text
|
||||
Configuration/config/testfiles/CGAL_CFG_DEEP_DEPENDENT_TEMPLATE_BUG.C -text
|
||||
Configuration/config/testfiles/CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG.C -text
|
||||
Configuration/config/testfiles/CGAL_CFG_SUNPRO_RWSTD.C -text
|
||||
Convex_hull_2/demo/Convex_hull_2/convex_hull_2.vcproj -text
|
||||
Convex_hull_2/doc_tex/Convex_hull_2/saarhull.eps -text
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
// Copyright (c) 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),
|
||||
// and Tel-Aviv University (Israel). All rights reserved.
|
||||
//
|
||||
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Lesser General Public License as
|
||||
// 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: svn+ssh://scm.gforge.inria.fr/svn/cgal/trunk/Configuration/config/testfiles/CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG.C $
|
||||
// $Id: CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG.C 28738 2006-02-23 14:30:13Z glisse $
|
||||
//
|
||||
//
|
||||
// Author(s) : Marc Glisse
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// A short test program to evaluate a C++ compiler.
|
||||
// This program is used by cgal_configure.
|
||||
// The following documentation will be pasted in the generated configfile.
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
//| 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.
|
||||
|
||||
template < typename U >
|
||||
struct B
|
||||
{
|
||||
struct A
|
||||
{
|
||||
typedef char C;
|
||||
};
|
||||
A* f ( typename A :: C );
|
||||
};
|
||||
|
||||
template < class U >
|
||||
typename B < U > :: A*
|
||||
B < U > :: f ( typename A :: C )
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -1433,7 +1433,21 @@ protected:
|
|||
* \return A pointer to the newly created node.
|
||||
*/
|
||||
Node* _allocate_node (const Type& object,
|
||||
typename Node::Node_color color);
|
||||
typename Node::Node_color color)
|
||||
#ifdef CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG
|
||||
{
|
||||
CGAL_multiset_assertion (color != Node::DUMMY_BEGIN &&
|
||||
color != Node::DUMMY_END);
|
||||
|
||||
Node* new_node = node_alloc.allocate(1);
|
||||
|
||||
node_alloc.construct(new_node, beginNode);
|
||||
new_node->init(object, color);
|
||||
return (new_node);
|
||||
}
|
||||
#else
|
||||
;
|
||||
#endif
|
||||
|
||||
/*!
|
||||
* De-allocate a tree node.
|
||||
|
|
@ -3864,6 +3878,7 @@ void Multiset<Type, Compare, Allocator>::_remove_fixup (Node* nodeP,
|
|||
//---------------------------------------------------------
|
||||
// Allocate and initialize new tree node.
|
||||
//
|
||||
#ifndef CGAL_CFG_OUTOFLINE_MEMBER_DEFINITION_BUG
|
||||
template <class Type, class Compare, typename Allocator>
|
||||
typename Multiset<Type, Compare, Allocator>::Node*
|
||||
Multiset<Type, Compare, Allocator>::_allocate_node
|
||||
|
|
@ -3879,6 +3894,7 @@ Multiset<Type, Compare, Allocator>::_allocate_node
|
|||
new_node->init(object, color);
|
||||
return (new_node);
|
||||
}
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------
|
||||
// De-allocate a tree node.
|
||||
|
|
|
|||
Loading…
Reference in New Issue