title: How do I tell gcov to ignore un-hittable lines of C++ code?
body: <p>I'm using gcov to measure coverage in my C++ code.  I'd like to get to 100% coverage, but am hampered by the fact that there are some lines of code that are theoretically un-hittable (methods that are required to be implemented but which are never called, default branches of <code>switch</code> statements, etc.).  Each of these branches contains an <code>assert( false );</code> statement, but gcov still marks them as un-hit.</p>
  
  <p>I'd like to be able to tell gcov to ignore these branches.  Is there any way to give gcov that information -- by annotating the source code, or by any other mechanism?</p>