# HG changeset patch
# User Alpar Juttner <alpar@cs.elte.hu>
# Date 1375851305 -7200
# Node ID 8b2d4e5d96e40b541255768e9d42a3b25320a3cf
# Parent  a26b90a17c81e068cb8777e356b4552a80c611d1# Parent  3e711ee55d3184a42ccc00feb76ca15a724b3c88
Merge #294 to branches >=1.2

diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concept_check.h
--- a/lemon/concept_check.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concept_check.h	Wed Aug 07 06:55:05 2013 +0200
@@ -58,7 +58,7 @@
   {
 #if !defined(NDEBUG)
     void (Concept::*x)() = & Concept::constraints;
-    ignore_unused_variable_warning(x);
+    ::lemon::ignore_unused_variable_warning(x);
 #endif
   }
 
@@ -68,7 +68,7 @@
 #if !defined(NDEBUG)
     typedef typename Concept::template Constraints<Type> ConceptCheck;
     void (ConceptCheck::*x)() = & ConceptCheck::constraints;
-    ignore_unused_variable_warning(x);
+    ::lemon::ignore_unused_variable_warning(x);
 #endif
   }
 
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/digraph.h
--- a/lemon/concepts/digraph.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/digraph.h	Wed Aug 07 06:55:05 2013 +0200
@@ -312,7 +312,7 @@
 
         /// Sets the iterator to the first arc of the given digraph.
         ///
-        explicit ArcIt(const Digraph& g) { ignore_unused_variable_warning(g); }
+        explicit ArcIt(const Digraph& g) { ::lemon::ignore_unused_variable_warning(g); }
         /// Sets the iterator to the given arc.
 
         /// Sets the iterator to the given arc of the given digraph.
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/graph.h
--- a/lemon/concepts/graph.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/graph.h	Wed Aug 07 06:55:05 2013 +0200
@@ -396,7 +396,7 @@
 
         /// Sets the iterator to the first arc of the given graph.
         ///
-        explicit ArcIt(const Graph &g) { ignore_unused_variable_warning(g); }
+        explicit ArcIt(const Graph &g) { ::lemon::ignore_unused_variable_warning(g); }
         /// Sets the iterator to the given arc.
 
         /// Sets the iterator to the given arc of the given graph.
@@ -442,8 +442,8 @@
         /// Sets the iterator to the first outgoing arc of the given node.
         ///
         OutArcIt(const Graph& n, const Node& g) {
-          ignore_unused_variable_warning(n);
-          ignore_unused_variable_warning(g);
+          ::lemon::ignore_unused_variable_warning(n);
+          ::lemon::ignore_unused_variable_warning(g);
         }
         /// Sets the iterator to the given arc.
 
@@ -490,8 +490,8 @@
         /// Sets the iterator to the first incoming arc of the given node.
         ///
         InArcIt(const Graph& g, const Node& n) {
-          ignore_unused_variable_warning(n);
-          ignore_unused_variable_warning(g);
+          ::lemon::ignore_unused_variable_warning(n);
+          ::lemon::ignore_unused_variable_warning(g);
         }
         /// Sets the iterator to the given arc.
 
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/graph_components.h
--- a/lemon/concepts/graph_components.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/graph_components.h	Wed Aug 07 06:55:05 2013 +0200
@@ -108,7 +108,7 @@
           i1 = i2 = i3;
 
           bool b;
-          ignore_unused_variable_warning(b);
+          ::lemon::ignore_unused_variable_warning(b);
 
           b = (ia == ib) && (ia != ib);
           b = (ia == INVALID) && (ib != INVALID);
@@ -289,7 +289,7 @@
             e = graph.oppositeArc(e);
             ue = e;
             bool d = graph.direction(e);
-            ignore_unused_variable_warning(d);
+            ::lemon::ignore_unused_variable_warning(d);
           }
         }
 
@@ -368,9 +368,9 @@
           arc = digraph.arcFromId(eid);
 
           nid = digraph.maxNodeId();
-          ignore_unused_variable_warning(nid);
+          ::lemon::ignore_unused_variable_warning(nid);
           eid = digraph.maxArcId();
-          ignore_unused_variable_warning(eid);
+          ::lemon::ignore_unused_variable_warning(eid);
         }
 
         const _Digraph& digraph;
@@ -423,7 +423,7 @@
           ueid = graph.id(edge);
           edge = graph.edgeFromId(ueid);
           ueid = graph.maxEdgeId();
-          ignore_unused_variable_warning(ueid);
+          ::lemon::ignore_unused_variable_warning(ueid);
         }
 
         const _Graph& graph;
@@ -496,8 +496,8 @@
           _GraphItemIt it2;
           _GraphItemIt it3 = it1;
           _GraphItemIt it4 = INVALID;
-          ignore_unused_variable_warning(it3);
-          ignore_unused_variable_warning(it4);
+          ::lemon::ignore_unused_variable_warning(it3);
+          ::lemon::ignore_unused_variable_warning(it4);
 
           it2 = ++it1;
           ++it2 = it1;
@@ -587,8 +587,8 @@
           _GraphIncIt it2;
           _GraphIncIt it3 = it1;
           _GraphIncIt it4 = INVALID;
-          ignore_unused_variable_warning(it3);
-          ignore_unused_variable_warning(it4);
+          ::lemon::ignore_unused_variable_warning(it3);
+          ::lemon::ignore_unused_variable_warning(it4);
 
           it2 = ++it1;
           ++it2 = it1;
@@ -770,7 +770,7 @@
             n = digraph.runningNode(iait);
             n = digraph.baseNode(oait);
             n = digraph.runningNode(oait);
-            ignore_unused_variable_warning(n);
+            ::lemon::ignore_unused_variable_warning(n);
           }
         }
 
@@ -953,8 +953,8 @@
           typename _Digraph::ArcNotifier& en
             = digraph.notifier(typename _Digraph::Arc());
 
-          ignore_unused_variable_warning(nn);
-          ignore_unused_variable_warning(en);
+          ::lemon::ignore_unused_variable_warning(nn);
+          ::lemon::ignore_unused_variable_warning(en);
         }
 
         const _Digraph& digraph;
@@ -996,7 +996,7 @@
           checkConcept<AlterableDigraphComponent<Base>, _Graph>();
           typename _Graph::EdgeNotifier& uen
             = graph.notifier(typename _Graph::Edge());
-          ignore_unused_variable_warning(uen);
+          ::lemon::ignore_unused_variable_warning(uen);
         }
 
         const _Graph& graph;
@@ -1070,9 +1070,9 @@
           // ReadMap<Key, Value> cmap;
           // m3 = cmap;
 
-          ignore_unused_variable_warning(m1);
-          ignore_unused_variable_warning(m2);
-          // ignore_unused_variable_warning(m3);
+          ::lemon::ignore_unused_variable_warning(m1);
+          ::lemon::ignore_unused_variable_warning(m2);
+          // ::lemon::ignore_unused_variable_warning(m3);
         }
 
         const _Map &m;
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/heap.h
--- a/lemon/concepts/heap.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/heap.h	Wed Aug 07 06:55:05 2013 +0200
@@ -260,27 +260,27 @@
           Prio prio;
           item=Item();
           prio=Prio();
-          ignore_unused_variable_warning(item);
-          ignore_unused_variable_warning(prio);
+          ::lemon::ignore_unused_variable_warning(item);
+          ::lemon::ignore_unused_variable_warning(prio);
 
           OwnItem own_item;
           OwnPrio own_prio;
           OwnState own_state;
           own_item=Item();
           own_prio=Prio();
-          ignore_unused_variable_warning(own_item);
-          ignore_unused_variable_warning(own_prio);
-          ignore_unused_variable_warning(own_state);
+          ::lemon::ignore_unused_variable_warning(own_item);
+          ::lemon::ignore_unused_variable_warning(own_prio);
+          ::lemon::ignore_unused_variable_warning(own_state);
 
           _Heap heap1(map);
           _Heap heap2 = heap1;
-          ignore_unused_variable_warning(heap1);
-          ignore_unused_variable_warning(heap2);
+          ::lemon::ignore_unused_variable_warning(heap1);
+          ::lemon::ignore_unused_variable_warning(heap2);
 
           int s = heap.size();
-          ignore_unused_variable_warning(s);
+          ::lemon::ignore_unused_variable_warning(s);
           bool e = heap.empty();
-          ignore_unused_variable_warning(e);
+          ::lemon::ignore_unused_variable_warning(e);
 
           prio = heap.prio();
           item = heap.top();
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/maps.h
--- a/lemon/concepts/maps.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/maps.h	Wed Aug 07 06:55:05 2013 +0200
@@ -60,10 +60,10 @@
           typename _ReadMap::Value own_val = m[own_key];
           own_val = m[own_key];
 
-          ignore_unused_variable_warning(key);
-          ignore_unused_variable_warning(val);
-          ignore_unused_variable_warning(own_key);
-          ignore_unused_variable_warning(own_val);
+          ::lemon::ignore_unused_variable_warning(key);
+          ::lemon::ignore_unused_variable_warning(val);
+          ::lemon::ignore_unused_variable_warning(own_key);
+          ::lemon::ignore_unused_variable_warning(own_val);
         }
         const Key& key;
         const typename _ReadMap::Key& own_key;
@@ -100,10 +100,10 @@
           m.set(key, val);
           m.set(own_key, own_val);
 
-          ignore_unused_variable_warning(key);
-          ignore_unused_variable_warning(val);
-          ignore_unused_variable_warning(own_key);
-          ignore_unused_variable_warning(own_val);
+          ::lemon::ignore_unused_variable_warning(key);
+          ::lemon::ignore_unused_variable_warning(val);
+          ::lemon::ignore_unused_variable_warning(own_key);
+          ::lemon::ignore_unused_variable_warning(own_val);
         }
         const Key& key;
         const Value& val;
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/concepts/path.h
--- a/lemon/concepts/path.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/concepts/path.h	Wed Aug 07 06:55:05 2013 +0200
@@ -75,7 +75,7 @@
       /// \brief Template assigment operator
       template <typename CPath>
       Path& operator=(const CPath& cpath) {
-        ignore_unused_variable_warning(cpath);
+        ::lemon::ignore_unused_variable_warning(cpath);
         return *this;
       }
 
@@ -135,12 +135,12 @@
           e = (i != ii);
           e = (i < ii);
 
-          ignore_unused_variable_warning(l);
-          ignore_unused_variable_warning(pp);
-          ignore_unused_variable_warning(e);
-          ignore_unused_variable_warning(id);
-          ignore_unused_variable_warning(ii);
-          ignore_unused_variable_warning(ed);
+          ::lemon::ignore_unused_variable_warning(l);
+          ::lemon::ignore_unused_variable_warning(pp);
+          ::lemon::ignore_unused_variable_warning(e);
+          ::lemon::ignore_unused_variable_warning(id);
+          ::lemon::ignore_unused_variable_warning(ii);
+          ::lemon::ignore_unused_variable_warning(ed);
         }
       };
 
@@ -162,10 +162,10 @@
           e = (i == INVALID);
           e = (i != INVALID);
 
-          ignore_unused_variable_warning(l);
-          ignore_unused_variable_warning(e);
-          ignore_unused_variable_warning(id);
-          ignore_unused_variable_warning(ed);
+          ::lemon::ignore_unused_variable_warning(l);
+          ::lemon::ignore_unused_variable_warning(e);
+          ::lemon::ignore_unused_variable_warning(id);
+          ::lemon::ignore_unused_variable_warning(ed);
         }
         _Path& p;
         PathDumperConstraints() {}
@@ -188,10 +188,10 @@
           e = (i == INVALID);
           e = (i != INVALID);
 
-          ignore_unused_variable_warning(l);
-          ignore_unused_variable_warning(e);
-          ignore_unused_variable_warning(id);
-          ignore_unused_variable_warning(ed);
+          ::lemon::ignore_unused_variable_warning(l);
+          ::lemon::ignore_unused_variable_warning(e);
+          ::lemon::ignore_unused_variable_warning(id);
+          ::lemon::ignore_unused_variable_warning(ed);
         }
         _Path& p;
         PathDumperConstraints() {}
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/core.h
--- a/lemon/core.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/core.h	Wed Aug 07 06:55:05 2013 +0200
@@ -37,6 +37,17 @@
 #pragma warning( disable : 4250 4355 4503 4800 4996 )
 #endif
 
+#ifdef __GNUC__
+#define GCC_VERSION (__GNUC__ * 10000                   \
+                     + __GNUC_MINOR__ * 100             \
+                     + __GNUC_PATCHLEVEL__)
+#endif
+
+#if GCC_VERSION >= 40800
+// Needed by the [DI]GRAPH_TYPEDEFS marcos for gcc 4.8
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
+#endif
+
 ///\file
 ///\brief LEMON core utilities.
 ///
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/cplex.cc
--- a/lemon/cplex.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/cplex.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -40,6 +40,7 @@
   CplexEnv::CplexEnv() {
     int status;
     _cnt = new int;
+    (*_cnt) = 1;
     _env = CPXopenCPLEX(&status);
     if (_env == 0) {
       delete _cnt;
diff -r a26b90a17c81 -r 8b2d4e5d96e4 lemon/graph_to_eps.h
--- a/lemon/graph_to_eps.h	Wed Nov 28 11:58:00 2012 +0100
+++ b/lemon/graph_to_eps.h	Wed Aug 07 06:55:05 2013 +0200
@@ -222,7 +222,7 @@
   using T::_title;
   using T::_copyright;
 
-  using typename T::NodeTextColorType;
+  using T::NodeTextColorType;
   using T::CUST_COL;
   using T::DIST_COL;
   using T::DIST_BW;
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/adaptors_test.cc
--- a/test/adaptors_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/adaptors_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -65,7 +65,7 @@
   Digraph::Arc a1 = digraph.addArc(n1, n2);
   Digraph::Arc a2 = digraph.addArc(n1, n3);
   Digraph::Arc a3 = digraph.addArc(n2, n3);
-  ignore_unused_variable_warning(a3);
+  ::lemon::ignore_unused_variable_warning(a3);
 
   // Check the adaptor
   checkGraphNodeList(adaptor, 3);
@@ -100,7 +100,7 @@
   Adaptor::Arc a6 = adaptor.addArc(n2, n4);
   Adaptor::Arc a7 = adaptor.addArc(n1, n4);
   Adaptor::Arc a8 = adaptor.addArc(n1, n2);
-  ignore_unused_variable_warning(a6,a7,a8);
+  ::lemon::ignore_unused_variable_warning(a6,a7,a8);
 
   adaptor.erase(a1);
   adaptor.erase(n3);
@@ -760,7 +760,7 @@
   Digraph::Arc a1 = digraph.addArc(n1, n2);
   Digraph::Arc a2 = digraph.addArc(n1, n3);
   Digraph::Arc a3 = digraph.addArc(n2, n3);
-  ignore_unused_variable_warning(a1,a2,a3);
+  ::lemon::ignore_unused_variable_warning(a1,a2,a3);
 
   checkGraphNodeList(adaptor, 6);
   checkGraphArcList(adaptor, 6);
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/bfs_test.cc
--- a/test/bfs_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/bfs_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -61,7 +61,7 @@
   Node s, t, n;
   Arc e;
   int l, i;
-  ignore_unused_variable_warning(l,i);
+  ::lemon::ignore_unused_variable_warning(l,i);
   bool b;
   BType::DistMap d(G);
   BType::PredMap p(G);
@@ -151,7 +151,7 @@
 
   Digraph g;
   bool b;
-  ignore_unused_variable_warning(b);
+  ::lemon::ignore_unused_variable_warning(b);
 
   bfs(g).run(Node());
   b=bfs(g).run(Node(),Node());
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/circulation_test.cc
--- a/test/circulation_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/circulation_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -73,7 +73,7 @@
   BarrierMap bar;
   VType v;
   bool b;
-  ignore_unused_variable_warning(v,b);
+  ::lemon::ignore_unused_variable_warning(v,b);
 
   typedef Circulation<Digraph, CapMap, CapMap, SupplyMap>
             ::SetFlowMap<FlowMap>
@@ -104,7 +104,7 @@
   b = const_circ_test.barrier(n);
   const_circ_test.barrierMap(bar);
 
-  ignore_unused_variable_warning(fm);
+  ::lemon::ignore_unused_variable_warning(fm);
 }
 
 template <class G, class LM, class UM, class DM>
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/connectivity_test.cc
--- a/test/connectivity_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/connectivity_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -68,7 +68,7 @@
     Digraph::NodeMap<int> order(d);
     Graph g(d);
     Digraph::Node n = d.addNode();
-    ignore_unused_variable_warning(n);
+    ::lemon::ignore_unused_variable_warning(n);
 
     check(stronglyConnected(d), "This digraph is strongly connected");
     check(countStronglyConnectedComponents(d) == 1,
@@ -246,7 +246,7 @@
     Digraph::Node shoe = d.addNode();
     Digraph::Node watch = d.addNode();
     Digraph::Node pants = d.addNode();
-    ignore_unused_variable_warning(watch);
+    ::lemon::ignore_unused_variable_warning(watch);
 
     d.addArc(socks, shoe);
     d.addArc(pants, shoe);
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/dfs_test.cc
--- a/test/dfs_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/dfs_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -67,7 +67,7 @@
   Arc e;
   int l, i;
   bool b;
-  ignore_unused_variable_warning(l,i,b);
+  ::lemon::ignore_unused_variable_warning(l,i,b);
 
   DType::DistMap d(G);
   DType::PredMap p(G);
@@ -153,7 +153,7 @@
 
   Digraph g;
   bool b;
-  ignore_unused_variable_warning(b);
+  ::lemon::ignore_unused_variable_warning(b);
 
   dfs(g).run(Node());
   b=dfs(g).run(Node(),Node());
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/digraph_test.cc
--- a/test/digraph_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/digraph_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -64,7 +64,7 @@
   Arc a2 = G.addArc(n2, n1),
       a3 = G.addArc(n2, n3),
       a4 = G.addArc(n2, n3);
-  ignore_unused_variable_warning(a2,a3,a4);
+  ::lemon::ignore_unused_variable_warning(a2,a3,a4);
 
   checkGraphNodeList(G, 3);
   checkGraphArcList(G, 4);
@@ -93,7 +93,7 @@
   Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n2, n1),
       a3 = G.addArc(n2, n3), a4 = G.addArc(n2, n3);
-  ignore_unused_variable_warning(a1,a2,a3,a4);
+  ::lemon::ignore_unused_variable_warning(a1,a2,a3,a4);
 
   Node n4 = G.split(n2);
 
@@ -127,7 +127,7 @@
   Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n4, n1),
       a3 = G.addArc(n4, n3), a4 = G.addArc(n4, n3),
       a5 = G.addArc(n2, n4);
-  ignore_unused_variable_warning(a1,a2,a3,a5);
+  ::lemon::ignore_unused_variable_warning(a1,a2,a3,a5);
 
   checkGraphNodeList(G, 4);
   checkGraphArcList(G, 5);
@@ -207,7 +207,7 @@
   Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n4, n1),
       a3 = G.addArc(n4, n3), a4 = G.addArc(n3, n1),
       a5 = G.addArc(n2, n4);
-  ignore_unused_variable_warning(a2,a3,a4,a5);
+  ::lemon::ignore_unused_variable_warning(a2,a3,a4,a5);
 
   // Check arc deletion
   G.erase(a1);
@@ -255,7 +255,7 @@
   Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   Arc a1 = G.addArc(n1, n2), a2 = G.addArc(n2, n1),
       a3 = G.addArc(n2, n3), a4 = G.addArc(n2, n3);
-  ignore_unused_variable_warning(a1,a2,a3,a4);
+  ::lemon::ignore_unused_variable_warning(a1,a2,a3,a4);
 
   typename Digraph::Snapshot snapshot(G);
 
@@ -356,7 +356,7 @@
   Arc
     e1 = g.addArc(n1, n2),
     e2 = g.addArc(n2, n3);
-  ignore_unused_variable_warning(e2);
+  ::lemon::ignore_unused_variable_warning(e2);
 
   check(g.valid(n1), "Wrong validity check");
   check(g.valid(e1), "Wrong validity check");
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/dijkstra_test.cc
--- a/test/dijkstra_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/dijkstra_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -65,7 +65,7 @@
   VType l;
   int i;
   bool b;
-  ignore_unused_variable_warning(l,i,b);
+  ::lemon::ignore_unused_variable_warning(l,i,b);
 
   DType::DistMap d(G);
   DType::PredMap p(G);
@@ -164,7 +164,7 @@
 
   Digraph g;
   bool b;
-  ignore_unused_variable_warning(b);
+  ::lemon::ignore_unused_variable_warning(b);
 
   dijkstra(g,LengthMap()).run(Node());
   b=dijkstra(g,LengthMap()).run(Node(),Node());
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/edge_set_test.cc
--- a/test/edge_set_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/edge_set_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -44,12 +44,12 @@
     n2 = digraph.addNode();
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
-  ignore_unused_variable_warning(ga1);
+  ::lemon::ignore_unused_variable_warning(ga1);
 
   ArcSet arc_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
-  ignore_unused_variable_warning(ga2);
+  ::lemon::ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(arc_set, 2);
   checkGraphArcList(arc_set, 0);
@@ -77,7 +77,7 @@
   ArcSet::Arc a2 = arc_set.addArc(n2, n1),
     a3 = arc_set.addArc(n2, n3),
     a4 = arc_set.addArc(n2, n3);
-  ignore_unused_variable_warning(a2,a3,a4);
+  ::lemon::ignore_unused_variable_warning(a2,a3,a4);
 
   checkGraphNodeList(arc_set, 3);
   checkGraphArcList(arc_set, 4);
@@ -114,12 +114,12 @@
     n2 = digraph.addNode();
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
-  ignore_unused_variable_warning(ga1);
+  ::lemon::ignore_unused_variable_warning(ga1);
 
   ArcSet arc_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
-  ignore_unused_variable_warning(ga2);
+  ::lemon::ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(arc_set, 2);
   checkGraphArcList(arc_set, 0);
@@ -147,7 +147,7 @@
   ArcSet::Arc a2 = arc_set.addArc(n2, n1),
     a3 = arc_set.addArc(n2, n3),
     a4 = arc_set.addArc(n2, n3);
-  ignore_unused_variable_warning(a2,a3,a4);
+  ::lemon::ignore_unused_variable_warning(a2,a3,a4);
 
   checkGraphNodeList(arc_set, 3);
   checkGraphArcList(arc_set, 4);
@@ -198,12 +198,12 @@
     n2 = digraph.addNode();
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
-  ignore_unused_variable_warning(ga1);
+  ::lemon::ignore_unused_variable_warning(ga1);
 
   EdgeSet edge_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
-  ignore_unused_variable_warning(ga2);
+  ::lemon::ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(edge_set, 2);
   checkGraphArcList(edge_set, 0);
@@ -240,7 +240,7 @@
   EdgeSet::Edge e2 = edge_set.addEdge(n2, n1),
     e3 = edge_set.addEdge(n2, n3),
     e4 = edge_set.addEdge(n2, n3);
-  ignore_unused_variable_warning(e2,e3,e4);
+  ::lemon::ignore_unused_variable_warning(e2,e3,e4);
 
   checkGraphNodeList(edge_set, 3);
   checkGraphEdgeList(edge_set, 4);
@@ -286,12 +286,12 @@
     n2 = digraph.addNode();
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
-  ignore_unused_variable_warning(ga1);
+  ::lemon::ignore_unused_variable_warning(ga1);
 
   EdgeSet edge_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
-  ignore_unused_variable_warning(ga2);
+  ::lemon::ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(edge_set, 2);
   checkGraphArcList(edge_set, 0);
@@ -328,7 +328,7 @@
   EdgeSet::Edge e2 = edge_set.addEdge(n2, n1),
     e3 = edge_set.addEdge(n2, n3),
     e4 = edge_set.addEdge(n2, n3);
-  ignore_unused_variable_warning(e2,e3,e4);
+  ::lemon::ignore_unused_variable_warning(e2,e3,e4);
 
   checkGraphNodeList(edge_set, 3);
   checkGraphEdgeList(edge_set, 4);
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/euler_test.cc
--- a/test/euler_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/euler_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -101,7 +101,7 @@
     Digraph d;
     Graph g(d);
     Digraph::Node n = d.addNode();
-    ignore_unused_variable_warning(n);
+    ::lemon::ignore_unused_variable_warning(n);
   
     checkDiEulerIt(d);
     checkDiEulerIt(g);
@@ -190,7 +190,7 @@
     Digraph::Node n3 = d.addNode();
     Digraph::Node n4 = d.addNode();
     Digraph::Node n5 = d.addNode();
-    ignore_unused_variable_warning(n0,n4,n5);
+    ::lemon::ignore_unused_variable_warning(n0,n4,n5);
 
     d.addArc(n1, n2);
     d.addArc(n2, n3);
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/gomory_hu_test.cc
--- a/test/gomory_hu_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/gomory_hu_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -68,7 +68,7 @@
   CutMap cut;
   Value v;
   int d;
-  ignore_unused_variable_warning(v,d);
+  ::lemon::ignore_unused_variable_warning(v,d);
 
   GomoryHu<Graph, CapMap> gh_test(g, cap);
   const GomoryHu<Graph, CapMap>&
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/graph_test.cc
--- a/test/graph_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/graph_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -66,7 +66,7 @@
 
   Edge e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3);
-  ignore_unused_variable_warning(e2,e3);
+  ::lemon::ignore_unused_variable_warning(e2,e3);
 
   checkGraphNodeList(G, 3);
   checkGraphEdgeList(G, 3);
@@ -99,7 +99,7 @@
   Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
        e5 = G.addEdge(n4, n3);
-  ignore_unused_variable_warning(e1,e3,e4,e5);
+  ::lemon::ignore_unused_variable_warning(e1,e3,e4,e5);
 
   checkGraphNodeList(G, 4);
   checkGraphEdgeList(G, 5);
@@ -179,7 +179,7 @@
   Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
        e5 = G.addEdge(n4, n3);
-  ignore_unused_variable_warning(e1,e3,e4,e5);
+  ::lemon::ignore_unused_variable_warning(e1,e3,e4,e5);
 
   // Check edge deletion
   G.erase(e2);
@@ -220,7 +220,7 @@
   Node n1 = G.addNode(), n2 = G.addNode(), n3 = G.addNode();
   Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3);
-  ignore_unused_variable_warning(e1,e2,e3);
+  ::lemon::ignore_unused_variable_warning(e1,e2,e3);
 
   checkGraphNodeList(G, 3);
   checkGraphEdgeList(G, 3);
@@ -385,7 +385,7 @@
   Edge
     e1 = g.addEdge(n1, n2),
     e2 = g.addEdge(n2, n3);
-  ignore_unused_variable_warning(e2);
+  ::lemon::ignore_unused_variable_warning(e2);
 
   check(g.valid(n1), "Wrong validity check");
   check(g.valid(e1), "Wrong validity check");
@@ -524,7 +524,7 @@
   checkGraphArcList(G, dim * (1 << dim));
 
   Node n = G.nodeFromId(dim);
-  ignore_unused_variable_warning(n);
+  ::lemon::ignore_unused_variable_warning(n);
 
   for (NodeIt n(G); n != INVALID; ++n) {
     checkGraphIncEdgeList(G, n, dim);
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/hao_orlin_test.cc
--- a/test/hao_orlin_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/hao_orlin_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -66,7 +66,7 @@
   CapMap cap;
   CutMap cut;
   Value v;
-  ignore_unused_variable_warning(v);
+  ::lemon::ignore_unused_variable_warning(v);
 
   HaoOrlin<Digraph, CapMap> ho_test(g, cap);
   const HaoOrlin<Digraph, CapMap>&
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/lp_test.cc
--- a/test/lp_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/lp_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -198,7 +198,12 @@
       LP::Constr c = v >= -3;
       c = c <= 4;
       LP::Constr c2;
+#if ( __GNUC__ == 4 ) && ( __GNUC_MINOR__ == 3 )
+      c2 = ( -3 <= v ) <= 4;
+#else
       c2 = -3 <= v <= 4;
+#endif
+
     }
 
     e[x[3]]=2;
@@ -240,8 +245,7 @@
 
   {
     LP::DualExpr e,f,g;
-    LP::Row p1 = INVALID, p2 = INVALID, p3 = INVALID,
-      p4 = INVALID, p5 = INVALID;
+    LP::Row p1 = INVALID, p2 = INVALID;
 
     e[p1]=2;
     e[p1]+=2;
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/maps_test.cc
--- a/test/maps_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/maps_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -103,7 +103,7 @@
     checkConcept<ReadWriteMap<A,B>, NullMap<A,B> >();
     NullMap<A,B> map1;
     NullMap<A,B> map2 = map1;
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
     map1 = nullMap<A,B>();
   }
 
@@ -114,14 +114,14 @@
     ConstMap<A,B> map1;
     ConstMap<A,B> map2 = B();
     ConstMap<A,B> map3 = map1;
-    ignore_unused_variable_warning(map2,map3);
+    ::lemon::ignore_unused_variable_warning(map2,map3);
 
     map1 = constMap<A>(B());
     map1 = constMap<A,B>();
     map1.setAll(B());
     ConstMap<A,C> map4(C(1));
     ConstMap<A,C> map5 = map4;
-    ignore_unused_variable_warning(map5);
+    ::lemon::ignore_unused_variable_warning(map5);
 
     map4 = constMap<A>(C(2));
     map4.setAll(C(3));
@@ -143,7 +143,7 @@
     checkConcept<ReadMap<A,A>, IdentityMap<A> >();
     IdentityMap<A> map1;
     IdentityMap<A> map2 = map1;
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
 
     map1 = identityMap<A>();
 
@@ -204,9 +204,9 @@
     typedef ComposeMap<DoubleMap, ReadMap<B,A> > CompMap;
     checkConcept<ReadMap<B,double>, CompMap>();
     CompMap map1 = CompMap(DoubleMap(),ReadMap<B,A>());
-    ignore_unused_variable_warning(map1);
+    ::lemon::ignore_unused_variable_warning(map1);
     CompMap map2 = composeMap(DoubleMap(), ReadMap<B,A>());
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
 
     SparseMap<double, bool> m1(false); m1[3.14] = true;
     RangeMap<double> m2(2); m2[0] = 3.0; m2[1] = 3.14;
@@ -219,9 +219,9 @@
     typedef CombineMap<DoubleMap, DoubleMap, std::plus<double> > CombMap;
     checkConcept<ReadMap<A,double>, CombMap>();
     CombMap map1 = CombMap(DoubleMap(), DoubleMap());
-    ignore_unused_variable_warning(map1);
+    ::lemon::ignore_unused_variable_warning(map1);
     CombMap map2 = combineMap(DoubleMap(), DoubleMap(), std::plus<double>());
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
 
     check(combineMap(constMap<B,int,2>(), identityMap<B>(), &binc)[B()] == 3,
           "Something is wrong with CombineMap");
@@ -233,15 +233,15 @@
     checkConcept<ReadMap<A,B>, FunctorToMap<F> >();
     FunctorToMap<F> map1;
     FunctorToMap<F> map2 = FunctorToMap<F>(F());
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
 
     B b = functorToMap(F())[A()];
-    ignore_unused_variable_warning(b);
+    ::lemon::ignore_unused_variable_warning(b);
 
     checkConcept<ReadMap<A,B>, MapToFunctor<ReadMap<A,B> > >();
     MapToFunctor<ReadMap<A,B> > map =
       MapToFunctor<ReadMap<A,B> >(ReadMap<A,B>());
-    ignore_unused_variable_warning(map);
+    ::lemon::ignore_unused_variable_warning(map);
 
     check(functorToMap(&func)[A()] == 3,
           "Something is wrong with FunctorToMap");
@@ -259,9 +259,9 @@
     checkConcept<ReadMap<double,double>,
       ConvertMap<ReadMap<double, int>, double> >();
     ConvertMap<RangeMap<bool>, int> map1(rangeMap(1, true));
-    ignore_unused_variable_warning(map1);
+    ::lemon::ignore_unused_variable_warning(map1);
     ConvertMap<RangeMap<bool>, int> map2 = convertMap<int>(rangeMap(2, false));
-    ignore_unused_variable_warning(map2);
+    ::lemon::ignore_unused_variable_warning(map2);
 
   }
 
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/matching_test.cc
--- a/test/matching_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/matching_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -145,7 +145,7 @@
 
   MaxMatching<Graph>::Status stat =
     const_mat_test.status(n);
-  ignore_unused_variable_warning(stat);
+  ::lemon::ignore_unused_variable_warning(stat);
   const MaxMatching<Graph>::StatusMap& smap =
     const_mat_test.statusMap();
   stat = smap[n];
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/min_cost_arborescence_test.cc
--- a/test/min_cost_arborescence_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/min_cost_arborescence_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -91,7 +91,7 @@
   Arc e;
   VType c;
   bool b;
-  ignore_unused_variable_warning(c,b);
+  ::lemon::ignore_unused_variable_warning(c,b);
   int i;
   CostMap cost;
   ArbMap arb;
@@ -127,8 +127,8 @@
   i = const_mcarb_test.dualSize(i);
   c = const_mcarb_test.dualValue(i);
 
-  ignore_unused_variable_warning(am);
-  ignore_unused_variable_warning(pm);
+  ::lemon::ignore_unused_variable_warning(am);
+  ::lemon::ignore_unused_variable_warning(pm);
 }
 
 int main() {
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/preflow_test.cc
--- a/test/preflow_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/preflow_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -86,7 +86,7 @@
   CutMap cut;
   VType v;
   bool b;
-  ignore_unused_variable_warning(v,b);
+  ::lemon::ignore_unused_variable_warning(v,b);
 
   typedef Preflow<Digraph, CapMap>
             ::SetFlowMap<FlowMap>
@@ -120,7 +120,7 @@
   b = const_preflow_test.minCut(n);
   const_preflow_test.minCutMap(cut);
 
-  ignore_unused_variable_warning(fm);
+  ::lemon::ignore_unused_variable_warning(fm);
 }
 
 int cutValue (const SmartDigraph& g,
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/suurballe_test.cc
--- a/test/suurballe_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/suurballe_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -117,7 +117,7 @@
 
   int f;
   VType c;
-  ignore_unused_variable_warning(f,c);
+  ::lemon::ignore_unused_variable_warning(f,c);
 
   c = const_suurb_test.totalLength();
   f = const_suurb_test.flow(e);
@@ -129,8 +129,8 @@
   k = const_suurb_test.pathNum();
   Path<Digraph> p = const_suurb_test.path(k);
 
-  ignore_unused_variable_warning(fm);
-  ignore_unused_variable_warning(pm);
+  ::lemon::ignore_unused_variable_warning(fm);
+  ::lemon::ignore_unused_variable_warning(pm);
 }
 
 // Check the feasibility of the flow
diff -r a26b90a17c81 -r 8b2d4e5d96e4 test/time_measure_test.cc
--- a/test/time_measure_test.cc	Wed Nov 28 11:58:00 2012 +0100
+++ b/test/time_measure_test.cc	Wed Aug 07 06:55:05 2013 +0200
@@ -35,7 +35,7 @@
   for(int i=0;i<1000;i++)
     {
       TimeStamp x(T);
-      ignore_unused_variable_warning(x);
+      ::lemon::ignore_unused_variable_warning(x);
     }
 }