さまざまな経験レベルの開発者からコミットを受け取る、適度なサイズのCコードベースがいくつかあります。assert()
あまり訓練されていないプログラマーの中には、アサーションが無効になっているバグを引き起こす副作用のあるステートメントをコミットする人もいます。例えば
assert(function_that_should_always_be_called());
すでに独自のassert()
実装を使用していますが、NDEBUG
定義された式を評価すると、許容できないパフォーマンスの低下が発生します。これらのコンパイル時の警告/エラーをトリガーするGCC拡張機能または渡すことができるフラグはありますか?十分に単純な制御フローを使用すると、GCCは純粋関数のみを呼び出していると判断できるはずです。