title: Selectively disable GCC warnings for only part of a translation unit
body: <p>What's the closest GCC equivalent to this <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B" rel="nofollow noreferrer">MSVC</a> preprocessor code?</p>
  <pre><code>#pragma warning( push )                    // Save the current warning state.
  #pragma warning( disable : 4723 )          // C4723: potential divide by 0
  // Code which would generate warning 4723.
  #pragma warning( pop )                     // Restore warnings to previous state.
  </code></pre>
  <p>We have code in commonly included headers which we do not want to generate a specific warning for. However, we want files which include those headers to continue to generate that warning (if the project has that warning enabled).</p>