Sun Studio 12 Update 1: C++ User's Guide

B.2.11 #pragma must_have_frame


#pragma must_have_frame(funcname [,funcname])

This pragma requests that the specified list of functions always be compiled to have a complete stack frame (as defined in the System V ABI). You must declare the prototype for a function before listing that function with this pragma.


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

This pragma is permitted only after the prototype for the specified functions is declared. The pragma must precede the end of the function.


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

See B.1.1 Overloaded Functions as Pragma Arguments