title: New C++11 range-for (foreach) syntax: which compilers support it?
body: <p>I saw this c++11 code fragment in <a href="http://ecee.colorado.edu/~siek/boostcon2010bgl.pdf" rel="noreferrer">this BoostCon presentation by Jeremy Siek</a>:</p>
  
  <pre><code>deque&lt;int&gt; topo_order;
  topological_sort(g, front_inserter(topo_order));
  
  for (int v : topo_order){ //line 39
      cout &lt;&lt; tasks[v] &lt;&lt; endl;
  }
  </code></pre>
  
  <p>Upon trying to compile in gcc there is the following error:</p>
  
  <pre><code>main.cpp:39: error: expected initializer before ‘:’ token
  </code></pre>
  
  <p>which then got me wondering, which compilers actually support this syntax?</p>