Mention that the code coverage tool becomes less precise whenever
unpredictable changes in control flow occur.
Thanks to Sean Silva for pointing this out!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271902
91177308-0d34-0410-b5e6-
96231b3b80d8
Drawbacks and limitations
=========================
-* Code coverage does not handle stack unwinding in the presence of uncaught
- exceptions precisely. Consider the following function:
+* Code coverage does not handle unpredictable changes in control flow or stack
+ unwinding in the presence of exceptions precisely. Consider the following
+ function:
.. code-block:: cpp
return 0;
}
- If the function ``may_throw()`` propagates an exception into ``f``, the code
+ If the call to ``may_throw()`` propagates an exception into ``f``, the code
coverage tool may mark the ``return`` statement as executed even though it is
- not.
+ not. A call to ``longjmp()`` can have similar effects.