title: Why is GCC warning me about a fallthrough even when I use [[fallthrough]]?
body: <p>In the following piece of code, I use the standard <a href="http://en.cppreference.com/w/cpp/language/attributes" rel="noreferrer"><code>[[fallthrough]]</code></a> attribute from C++1z to document that a fallthrough is desired:</p>
  
  <pre><code>#include &lt;iostream&gt;
  
  int main() {
      switch (0) {
          case 0:
              std::cout &lt;&lt; "a\n";
              [[fallthrough]]
          case 1:
              std::cout &lt;&lt; "b\n";
              break;
      }
  }
  </code></pre>
  
  <p>With GCC 7.1, the code compiles without an error. However, the compiler still warns me about a fallthrough:</p>
  
  <pre><code>warning: this statement may fall through [-Wimplicit-fallthrough=]
      std::cout &lt;&lt; "a\n";
      ~~~~~~~~~~^~~~~~~~
  </code></pre>
  
  <p>Why?</p>