「gcovr」を使用してコード カバレッジを取得しようとしています。-O0
最適化レベルとして使用しています。ライン カバレッジでは必要な結果が得られますが、ブランチ カバレッジでは残念ながらそうではありません。次の回答によると、gcc はコンパイル中に余分なコードを生成します。これは、プログラム内の分岐の数に影響します。余分なコードを生成しないように指示する方法はありgcc
ますか、または少なくとも生成を最小限に抑えますか?
上記の回答によると、使用-O1
すると余分なコードの生成が少なくなりますが、私には何の利点もありませんでした。それどころか、より多くの行がカバーされ (これは間違っています)、1 つのブランチがカバーされなくなります。