[ First ] [ Previous ] [ Next ] [ Last ] [ Manuals ]
disable_registers

Description:
Controls compatibility for the ANSI/ISO function setjmp().
Compatibility:
This pragma is compatible with the following platform targets:
Prototype:
#pragma disable_registers on | off | reset
Remarks:
If this option is on, the compiler turns off certain optimizations for any function that calls setjmp(). It disables global optimization and does not store local variables and arguments in registers. These changes ensure that all local variables will have up-to-date values.
NOTE
This option disables register optimizations in functions that use PowerPlant's TRY and CATCH macros but not in functions that use the ANSI-standard try and catch statements. The TRY and CATCH macros use setjmp(), but the try and catch statements are implemented at a lower level and do not use setjmp().
For Mac OS, this pragma mimics a feature that is available in THINK C and Symantec C++. Use this pragma only if you're porting code that relies on this feature, since it drastically increases your code's size and decreases its speed. In new code, declare a variable to be volatile if you expect its value to persist across setjmp() calls.
This pragma does not correspond to any option in the PowerPC or NEC V800 settings panels. To check whether this option is on, use the __option (disable_registers), described in "Checking Options." By default, this option is off.
[ First ] [ Previous ] [ Next ] [ Last ] [ Manuals ]
Visit the Metrowerks website at: http://www.metrowerks.com
For assistance contact Metrowerks Technical Support at: cw_support@metrowerks.com
Copyright © 2000, Metrowerks Corp. All rights reserved.
Last updated: August 17, 2000