Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r50189 - in trunk: boost/graph libs/graph/doc
From: asutton_at_[hidden]
Date: 2008-12-08 10:06:55


Author: asutton
Date: 2008-12-08 10:06:55 EST (Mon, 08 Dec 2008)
New Revision: 50189
URL: http://svn.boost.org/trac/boost/changeset/50189

Log:
Removing GCC check for hash_set/hash_map so we don't automatically break any
code. Added a section of workarounds to the documentation.

Text files modified:
   trunk/boost/graph/adjacency_list.hpp | 9 +++------
   trunk/libs/graph/doc/known_problems.html | 26 ++++++++++++++++++--------
   2 files changed, 21 insertions(+), 14 deletions(-)

Modified: trunk/boost/graph/adjacency_list.hpp
==============================================================================
--- trunk/boost/graph/adjacency_list.hpp (original)
+++ trunk/boost/graph/adjacency_list.hpp 2008-12-08 10:06:55 EST (Mon, 08 Dec 2008)
@@ -17,12 +17,9 @@
 #include <list>
 #include <set>
 
-// Thef 4.3 series deprecates hash_set and hash_map.
-// TODO: Migrate this to Boost.Config.
-#if __GNUC__ >= 4 && __GNUC_MINOR__ >= 3
-# define BOOST_NO_HASH
-#endif
-
+// TODO: Deprecating this requires some cooperation from Boost.Config. It's not
+// a good idea to just refuse the inclusion because it could break otherwise
+// functioning code.
 #if !defined BOOST_NO_HASH
 # ifdef BOOST_HASH_SET_HEADER
 # include BOOST_HASH_SET_HEADER

Modified: trunk/libs/graph/doc/known_problems.html
==============================================================================
--- trunk/libs/graph/doc/known_problems.html (original)
+++ trunk/libs/graph/doc/known_problems.html 2008-12-08 10:06:55 EST (Mon, 08 Dec 2008)
@@ -8,14 +8,17 @@
   -->
 <Head>
 <Title>Known Problems</Title>
-<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
- ALINK="#ff0000">
-<IMG SRC="../../../boost.png"
- ALT="C++ Boost" width="277" height="86">
+<BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b"
+ ALINK="#ff0000">
+<IMG SRC="../../../boost.png"
+ ALT="C++ Boost" width="277" height="86">
 
 <BR Clear>
 
- <h1>Known Problems</h1>
+ <h1>Known Problems and Workarounds</h1>
+
+This is a list of known problems compiling the BGL for different compilers and
+versions.
 
 <ol>
   <li>The <code>subgraph</code> adaptor has several known problems:
@@ -23,7 +26,7 @@
       <li>Each instance of subgraph has its own copy of internal
       vertex and edge properties. Only at the root subgraph are the
       properties valid. </li>
-
+
       <li>Edge and vertex removal functions are unimplemented.</li>
 
       <li>The graph is required to have vertex descriptors of integral
@@ -38,9 +41,16 @@
 
   <li>Using a GraphProperty with adjacency_list may cause a VC++ internal compiler error.</li>
   <li>Using get(property, graph, edge) may cause a VC++ internal compiler error.</li>
- <li>&quot;using boost::tie;&quot; may cause VC++ internal compiler error.
+ <li>&quot;using boost::tie;&quot; may cause VC++ internal compiler error.
 </ol>
 
+<h2>Workarounds</h2>
+<p>
+<b>Compiler Warnings on <code>hash_set</code> and <code>hash_map</code></b>. Versions of
+GCC &gt;= 4.3 deprecate these headers and data structures and will emit warnings when
+compiling the BGL. To suppress these warnings <em>and the hash-based storage selectors</em>
+define the <code>BOOST_NO_HASH</code> prior to including any Boost.Graph headers.
+</p>
 
 <br>
 <HR>
@@ -57,4 +67,4 @@
 </TD></TR></TABLE>
 
 </BODY>
-</HTML>
+</HTML>


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk