#define TRUE 1 #define TEST TRUE void funcA () { int condition1, condition2; if (TEST) { funcB(); } else { not_reached_due_to_condition(); } while (condition1) { if (condition2) return; else continue; occurs_after_control_transfer(); } return; }
文が到達不能であると判定されるケースは次の通りです:
到達不能な文 設定 ポインタ式の解析: 単純なポインタ式 タスク定義で解析する: オフ ユニオン/ビットフィールド・メンバーを個別に解析する: 分離 標準Cライブラリ関数をインラインで解析する: オン 前回の解析で共有設定を調整する: オン funcA() unreach_stmt.c 9 not_reached_due_to_condition(); 15 occurs_after_control_transfer();