title: Why isn't this a POD type?
body: <p>I ran the below with <code>g++ -std=c++0x  pod_test.cpp</code> on g++ 4.6.2 (mingw). I get an error on A4. Why isn't A4 POD?</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;new&gt;
  #include &lt;cstring&gt;
  
  using namespace std;
  
  struct A {
      int a, b;
      char c;
  };
  struct A2 {
      short buf[1];
  };
  struct A3:A {
  };
  struct A4:A {
      short buf[1];
  };
  static_assert(std::is_pod&lt;A&gt;::value, "Struct must be a POD type");
  static_assert(std::is_pod&lt;A2&gt;::value, "Struct must be a POD type");
  static_assert(std::is_pod&lt;A3&gt;::value, "Struct must be a POD type");
  static_assert(std::is_pod&lt;A4&gt;::value, "Struct must be a POD type");
  
  int main(){}
  </code></pre>