Sun Studio 12:C 用户指南

2.8.24 unknown_control_flow

#pragma unknown_control_flow (funcname[, funcname])

为了描述改变调用程序的流程图的过程, C 编译器提供了 #pragma unknown_control_flow 指令。通常,该指令带有 setjmp() 等函数的声明。在 Sun 系统上,include 文件 <setjmp.h> 包含以下内容:


extern int setjmp();
#pragma unknown_control_flow(setjmp)

同样,必须声明具有 setjmp() 类似属性的其他函数。

原则上,识别该属性的优化器可在控制流程图中插入相应的界限,从而在调用 setjmp() 的函数中安全地处理函数调用,同时保持优化流程图的未受影响部分的代码的能力。

必须在该 pragma 之前使用原型或空参数列表声明指定的函数。