#pragma unknown_control_flow (name;[, name;])
呼び出し元のフローグラフを変更する手続きを記述するには、#pragma unknown_control_flow 指令を使用します。通常、この指令には setjmp() のような関数の宣言が伴います。Oracle Solaris のシステム上では、インクルードファイル <setjmp.h> に次のコードが含まれています。
extern int setjmp(); #pragma unknown_control_flow(setjmp)
setjmp() のような特性を持つほかの関数も、同様に宣言する必要があります。
原則として、この属性を認識するオプティマイザは、制御フローグラフに適切な境界を挿入できます。これによって、setjmp() を呼び出す関数内で関数呼び出しを安全に処理しながら、影響を受けないフローグラフ部分のコードを最適化する機能を保持します。
指定した関数は、このプラグマの前にプロトタイプまたは空のパラメータリストで宣言する必要があります。