Sun Studio 12 Update 1: C++ ユーザーズガイド

B.2.11 #pragma must_have_frame


#pragma must_have_frame(funcname [,funcname])

このプラグマは、(System V ABI で定義されているとおり) 完全なスタックフレームを必ず持つように、指定した関数リストをコンパイルすることを要求します。このプラグマで関数を列挙する前に、関数のプロトタイプを宣言する必要があります。


extern void foo(int);
extern void bar(int);
#pragma must_have_frame(foo, bar)

このプラグマを使用できるのは、指定した関数のプロトタイプの宣言後のみに限定されます。プラグマは関数の最後より先に記述する必要があります


void foo(int) {
  .
  #pragma must_have_frame(foo)
  .
  return;
  }

「B.1.1 プラグマの引数としての多重定義関数」を参照してください。