Index: lemon/adaptors.h
===================================================================
--- lemon/adaptors.h	(revision 1081)
+++ lemon/adaptors.h	(revision 1158)
@@ -1365,5 +1365,5 @@
     /// and edge filter maps.
     SubGraph(GR& graph, NF& node_filter, EF& edge_filter) {
-      initialize(graph, node_filter, edge_filter);
+      this->initialize(graph, node_filter, edge_filter);
     }
 
@@ -2262,5 +2262,5 @@
     /// Creates an undirected graph from the given digraph.
     Undirector(DGR& digraph) {
-      initialize(digraph);
+      this->initialize(digraph);
     }
 
Index: lemon/bits/bezier.h
===================================================================
--- lemon/bits/bezier.h	(revision 463)
+++ lemon/bits/bezier.h	(revision 1157)
@@ -160,5 +160,5 @@
     const Point d=(a+b)/2;
     const Point e=(b+c)/2;
-    const Point f=(d+e)/2;
+    // const Point f=(d+e)/2;
     R f1=_f(Bezier3(p1,a,d,e),_d);
     R f2=_f(Bezier3(e,d,c,p4),_d);
Index: lemon/bits/edge_set_extender.h
===================================================================
--- lemon/bits/edge_set_extender.h	(revision 1081)
+++ lemon/bits/edge_set_extender.h	(revision 1158)
@@ -524,5 +524,5 @@
     // Returns the base node of the iterator
     Node baseNode(const IncEdgeIt &e) const {
-      return e.direction ? u(e) : v(e);
+      return e.direction ? this->u(e) : this->v(e);
     }
     // Running node of the iterator
@@ -530,5 +530,5 @@
     // Returns the running node of the iterator
     Node runningNode(const IncEdgeIt &e) const {
-      return e.direction ? v(e) : u(e);
+      return e.direction ? this->v(e) : this->u(e);
     }
 
Index: lemon/bits/graph_extender.h
===================================================================
--- lemon/bits/graph_extender.h	(revision 732)
+++ lemon/bits/graph_extender.h	(revision 1157)
@@ -588,5 +588,5 @@
     // Returns the base node of the iterator
     Node baseNode(const IncEdgeIt &edge) const {
-      return edge._direction ? u(edge) : v(edge);
+      return edge._direction ? this->u(edge) : this->v(edge);
     }
     // Running node of the iterator
@@ -594,5 +594,5 @@
     // Returns the running node of the iterator
     Node runningNode(const IncEdgeIt &edge) const {
-      return edge._direction ? v(edge) : u(edge);
+      return edge._direction ? this->v(edge) : this->u(edge);
     }
 
Index: lemon/circulation.h
===================================================================
--- lemon/circulation.h	(revision 1081)
+++ lemon/circulation.h	(revision 1158)
@@ -559,6 +559,4 @@
 
       Node act;
-      Node bact=INVALID;
-      Node last_activated=INVALID;
       while((act=_level->highestActive())!=INVALID) {
         int actlevel=(*_level)[act];
Index: lemon/concept_check.h
===================================================================
--- lemon/concept_check.h	(revision 463)
+++ lemon/concept_check.h	(revision 1157)
@@ -36,4 +36,20 @@
 
   template <class T> inline void ignore_unused_variable_warning(const T&) { }
+  template <class T1, class T2>
+  inline void ignore_unused_variable_warning(const T1&, const T2&) { }
+  template <class T1, class T2, class T3>
+  inline void ignore_unused_variable_warning(const T1&, const T2&,
+                                             const T3&) { }
+  template <class T1, class T2, class T3, class T4>
+  inline void ignore_unused_variable_warning(const T1&, const T2&,
+                                             const T3&, const T4&) { }
+  template <class T1, class T2, class T3, class T4, class T5>
+  inline void ignore_unused_variable_warning(const T1&, const T2&,
+                                             const T3&, const T4&,
+                                             const T5&) { }
+  template <class T1, class T2, class T3, class T4, class T5, class T6>
+  inline void ignore_unused_variable_warning(const T1&, const T2&,
+                                             const T3&, const T4&,
+                                             const T5&, const T6&) { }
 
   ///\e
Index: lemon/concepts/graph_components.h
===================================================================
--- lemon/concepts/graph_components.h	(revision 1126)
+++ lemon/concepts/graph_components.h	(revision 1158)
@@ -495,4 +495,6 @@
           _GraphItemIt it3 = it1;
           _GraphItemIt it4 = INVALID;
+          ignore_unused_variable_warning(it3);
+          ignore_unused_variable_warning(it4);
 
           it2 = ++it1;
@@ -584,4 +586,6 @@
           _GraphIncIt it3 = it1;
           _GraphIncIt it4 = INVALID;
+          ignore_unused_variable_warning(it3);
+          ignore_unused_variable_warning(it4);
 
           it2 = ++it1;
Index: lemon/concepts/maps.h
===================================================================
--- lemon/concepts/maps.h	(revision 1126)
+++ lemon/concepts/maps.h	(revision 1158)
@@ -50,5 +50,5 @@
       /// Returns the value associated with the given key.
       Value operator[](const Key &) const {
-        return *static_cast<Value *>(0);
+        return *(static_cast<Value *>(0)+1);
       }
 
Index: lemon/graph_to_eps.h
===================================================================
--- lemon/graph_to_eps.h	(revision 1081)
+++ lemon/graph_to_eps.h	(revision 1158)
@@ -223,5 +223,5 @@
   using T::_copyright;
 
-  using T::NodeTextColorType;
+  using typename T::NodeTextColorType;
   using T::CUST_COL;
   using T::DIST_COL;
Index: test/adaptors_test.cc
===================================================================
--- test/adaptors_test.cc	(revision 1156)
+++ test/adaptors_test.cc	(revision 1158)
@@ -66,4 +66,5 @@
   Digraph::Arc a2 = digraph.addArc(n1, n3);
   Digraph::Arc a3 = digraph.addArc(n2, n3);
+  ignore_unused_variable_warning(a3);
 
   // Check the adaptor
@@ -100,4 +101,5 @@
   Adaptor::Arc a7 = adaptor.addArc(n1, n4);
   Adaptor::Arc a8 = adaptor.addArc(n1, n2);
+  ignore_unused_variable_warning(a6,a7,a8);
 
   adaptor.erase(a1);
@@ -759,4 +761,5 @@
   Digraph::Arc a2 = digraph.addArc(n1, n3);
   Digraph::Arc a3 = digraph.addArc(n2, n3);
+  ignore_unused_variable_warning(a1,a2,a3);
 
   checkGraphNodeList(adaptor, 6);
Index: test/connectivity_test.cc
===================================================================
--- test/connectivity_test.cc	(revision 1081)
+++ test/connectivity_test.cc	(revision 1158)
@@ -69,4 +69,5 @@
     Graph g(d);
     Digraph::Node n = d.addNode();
+    ignore_unused_variable_warning(n);
 
     check(stronglyConnected(d), "This digraph is strongly connected");
@@ -246,4 +247,5 @@
     Digraph::Node watch = d.addNode();
     Digraph::Node pants = d.addNode();
+    ignore_unused_variable_warning(watch);
 
     d.addArc(socks, shoe);
Index: test/digraph_test.cc
===================================================================
--- test/digraph_test.cc	(revision 463)
+++ test/digraph_test.cc	(revision 1157)
@@ -61,4 +61,5 @@
       a3 = G.addArc(n2, n3),
       a4 = G.addArc(n2, n3);
+  ignore_unused_variable_warning(a2,a3,a4);
 
   checkGraphNodeList(G, 3);
@@ -89,4 +90,5 @@
   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);
 
   Node n4 = G.split(n2);
@@ -122,4 +124,5 @@
       a3 = G.addArc(n4, n3), a4 = G.addArc(n4, n3),
       a5 = G.addArc(n2, n4);
+  ignore_unused_variable_warning(a1,a2,a3,a5);
 
   checkGraphNodeList(G, 4);
@@ -201,4 +204,5 @@
       a3 = G.addArc(n4, n3), a4 = G.addArc(n3, n1),
       a5 = G.addArc(n2, n4);
+  ignore_unused_variable_warning(a2,a3,a4,a5);
 
   // Check arc deletion
@@ -248,4 +252,5 @@
   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);
 
   typename Digraph::Snapshot snapshot(G);
@@ -336,4 +341,5 @@
     e1 = g.addArc(n1, n2),
     e2 = g.addArc(n2, n3);
+  ignore_unused_variable_warning(e2);
 
   check(g.valid(n1), "Wrong validity check");
Index: test/edge_set_test.cc
===================================================================
--- test/edge_set_test.cc	(revision 1081)
+++ test/edge_set_test.cc	(revision 1158)
@@ -45,8 +45,10 @@
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
+  ignore_unused_variable_warning(ga1);
 
   ArcSet arc_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
+  ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(arc_set, 2);
@@ -76,4 +78,6 @@
     a3 = arc_set.addArc(n2, n3),
     a4 = arc_set.addArc(n2, n3);
+  ignore_unused_variable_warning(a2,a3,a4);
+
   checkGraphNodeList(arc_set, 3);
   checkGraphArcList(arc_set, 4);
@@ -111,8 +115,10 @@
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
+  ignore_unused_variable_warning(ga1);
 
   ArcSet arc_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
+  ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(arc_set, 2);
@@ -142,4 +148,6 @@
     a3 = arc_set.addArc(n2, n3),
     a4 = arc_set.addArc(n2, n3);
+  ignore_unused_variable_warning(a2,a3,a4);
+
   checkGraphNodeList(arc_set, 3);
   checkGraphArcList(arc_set, 4);
@@ -191,8 +199,10 @@
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
+  ignore_unused_variable_warning(ga1);
 
   EdgeSet edge_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
+  ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(edge_set, 2);
@@ -231,4 +241,6 @@
     e3 = edge_set.addEdge(n2, n3),
     e4 = edge_set.addEdge(n2, n3);
+  ignore_unused_variable_warning(e2,e3,e4);
+
   checkGraphNodeList(edge_set, 3);
   checkGraphEdgeList(edge_set, 4);
@@ -275,8 +287,10 @@
 
   Digraph::Arc ga1 = digraph.addArc(n1, n2);
+  ignore_unused_variable_warning(ga1);
 
   EdgeSet edge_set(digraph);
 
   Digraph::Arc ga2 = digraph.addArc(n2, n1);
+  ignore_unused_variable_warning(ga2);
 
   checkGraphNodeList(edge_set, 2);
@@ -315,4 +329,6 @@
     e3 = edge_set.addEdge(n2, n3),
     e4 = edge_set.addEdge(n2, n3);
+  ignore_unused_variable_warning(e2,e3,e4);
+
   checkGraphNodeList(edge_set, 3);
   checkGraphEdgeList(edge_set, 4);
Index: test/euler_test.cc
===================================================================
--- test/euler_test.cc	(revision 1081)
+++ test/euler_test.cc	(revision 1158)
@@ -102,5 +102,6 @@
     Graph g(d);
     Digraph::Node n = d.addNode();
-
+    ignore_unused_variable_warning(n);
+  
     checkDiEulerIt(d);
     checkDiEulerIt(g);
@@ -190,4 +191,5 @@
     Digraph::Node n4 = d.addNode();
     Digraph::Node n5 = d.addNode();
+    ignore_unused_variable_warning(n0,n4,n5);
 
     d.addArc(n1, n2);
Index: test/graph_test.cc
===================================================================
--- test/graph_test.cc	(revision 463)
+++ test/graph_test.cc	(revision 1157)
@@ -64,4 +64,5 @@
   Edge e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3);
+  ignore_unused_variable_warning(e2,e3);
 
   checkGraphNodeList(G, 3);
@@ -96,4 +97,5 @@
        e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
        e5 = G.addEdge(n4, n3);
+  ignore_unused_variable_warning(e1,e3,e4,e5);
 
   checkGraphNodeList(G, 4);
@@ -175,4 +177,5 @@
        e3 = G.addEdge(n2, n3), e4 = G.addEdge(n1, n4),
        e5 = G.addEdge(n4, n3);
+  ignore_unused_variable_warning(e1,e3,e4,e5);
 
   // Check edge deletion
@@ -215,4 +218,5 @@
   Edge e1 = G.addEdge(n1, n2), e2 = G.addEdge(n2, n1),
        e3 = G.addEdge(n2, n3);
+  ignore_unused_variable_warning(e1,e2,e3);
 
   checkGraphNodeList(G, 3);
@@ -363,4 +367,5 @@
     e1 = g.addEdge(n1, n2),
     e2 = g.addEdge(n2, n3);
+  ignore_unused_variable_warning(e2);
 
   check(g.valid(n1), "Wrong validity check");
@@ -492,4 +497,5 @@
 
   Node n = G.nodeFromId(dim);
+  ignore_unused_variable_warning(n);
 
   for (NodeIt n(G); n != INVALID; ++n) {
Index: test/maps_test.cc
===================================================================
--- test/maps_test.cc	(revision 1081)
+++ test/maps_test.cc	(revision 1158)
@@ -81,4 +81,5 @@
     NullMap<A,B> map1;
     NullMap<A,B> map2 = map1;
+    ignore_unused_variable_warning(map2);
     map1 = nullMap<A,B>();
   }
@@ -91,4 +92,6 @@
     ConstMap<A,B> map2 = B();
     ConstMap<A,B> map3 = map1;
+    ignore_unused_variable_warning(map2,map3);
+
     map1 = constMap<A>(B());
     map1 = constMap<A,B>();
@@ -96,4 +99,6 @@
     ConstMap<A,C> map4(C(1));
     ConstMap<A,C> map5 = map4;
+    ignore_unused_variable_warning(map5);
+
     map4 = constMap<A>(C(2));
     map4.setAll(C(3));
@@ -116,4 +121,6 @@
     IdentityMap<A> map1;
     IdentityMap<A> map2 = map1;
+    ignore_unused_variable_warning(map2);
+
     map1 = identityMap<A>();
 
@@ -175,5 +182,7 @@
     checkConcept<ReadMap<B,double>, CompMap>();
     CompMap map1 = CompMap(DoubleMap(),ReadMap<B,A>());
+    ignore_unused_variable_warning(map1);
     CompMap map2 = composeMap(DoubleMap(), ReadMap<B,A>());
+    ignore_unused_variable_warning(map2);
 
     SparseMap<double, bool> m1(false); m1[3.14] = true;
@@ -188,5 +197,7 @@
     checkConcept<ReadMap<A,double>, CombMap>();
     CombMap map1 = CombMap(DoubleMap(), DoubleMap());
+    ignore_unused_variable_warning(map1);
     CombMap map2 = combineMap(DoubleMap(), DoubleMap(), std::plus<double>());
+    ignore_unused_variable_warning(map2);
 
     check(combineMap(constMap<B,int,2>(), identityMap<B>(), &binc)[B()] == 3,
@@ -200,9 +211,13 @@
     FunctorToMap<F> map1;
     FunctorToMap<F> map2 = FunctorToMap<F>(F());
+    ignore_unused_variable_warning(map2);
+
     B b = functorToMap(F())[A()];
+    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);
 
     check(functorToMap(&func)[A()] == 3,
@@ -222,5 +237,8 @@
       ConvertMap<ReadMap<double, int>, double> >();
     ConvertMap<RangeMap<bool>, int> map1(rangeMap(1, true));
+    ignore_unused_variable_warning(map1);
     ConvertMap<RangeMap<bool>, int> map2 = convertMap<int>(rangeMap(2, false));
+    ignore_unused_variable_warning(map2);
+
   }
 
Index: test/time_measure_test.cc
===================================================================
--- test/time_measure_test.cc	(revision 605)
+++ test/time_measure_test.cc	(revision 1157)
@@ -18,4 +18,5 @@
 
 #include <lemon/time_measure.h>
+#include <lemon/concept_check.h>
 
 using namespace lemon;
@@ -33,5 +34,8 @@
 
   for(int i=0;i<1000;i++)
-    TimeStamp x(T);
+    {
+      TimeStamp x(T);
+      ignore_unused_variable_warning(x);
+    }
 }
 
