The preprocessor function __option() lets you test the setting of many pragmas and options that control the C/C++ compiler and code generation. You typically modify these settings using various panels in the Project Settings dialog box.
__option()
The syntax for this preprocessor function is:
__option(option-name)
If the specified option is on, __option() returns 1; otherwise, it returns 0. If option-name is unrecognized, __option() returns false.
This function is useful when you want one source file to contain code that uses different option settings. The example below shows how to compile one series of lines if you're compiling for machines with the MC68881 floating-point unit and another series if you're compiling for machines without out:
#if __option (code68881) // Code for 68K chip with FPU #else // Code for any 68K processor #endif
code68881)
This argument...
a6frames
Generate A6 Stack Frames
align_array_members
always_inline
altivec_codegen
altivec_model
altivec_vrsave
ANSI_strict
ANSI Strict
arg_dep_lookup
ARM_conform
ARM Conformance
auto_inline
Auto-Inline
Inlining
bool
C++ bool/true/false
check_header_flags
code68020
68020 Codegen
code68881
68881 Codegen
cplusplus
Activate C++ Compiler
cpp_extensions
d0_pointers
pointers_in_D0
pointers_in_A0
def_inherited
defer_codegen
direct_destruction
Enable Exception Handling
direct_destruction.
direct_to_SOM
Direct to SOM
disable_registers
dollar_identifiers
dont_inline
Don't Inline
dont_reuse_strings
Don't Reuse Strings
dont_reuse_strings.
ecplusplus
EIPC_EIPSW
enumsalwaysint
Enums Always Int
exceptions
Enable C++ Exceptions
export
extended_errorcheck
Extended Error Checking
far_data
Far Data
far_data.
far_strings
Far String Constants
far_vtables
faster_pch_gen
float_constants
force_active
fourbyteints
4-Byte Ints
fourbyteints.
fp_contract
Use FMADD & FMSUB
fp_contract.
fullpath_prepdump
fullpath_prepdump.
function_align
gcc_extensions
IEEEdoubles
8-Byte Doubles
IEEEdoubles.
ignore_oldstyle
ignore_oldstyle.
import
inline_bottom_up
inline_intrinsics
internal
interrupt
k63d
k63d_calls
lib_export
line_prepdump
line_prepdump.
little_endian
longlong
longlong_enums
longlong_prepval
no_static_dtors
no_static_dtors.
macsbug
MacsBug Symbols
microsoft_exceptions
microsoft_RTTI
mmx
mmx_call
mpwc
MPW C Calling Conventions
mpwc_newline
Map Newlines to CR
mpwc_relax
Relaxed Pointer Type Rules
no_register_coloring
Global Register Allocation
oldstyle_symbols
only_std_keywords
ANSI Keywords Only
only_std_keywords.
opt_common_subs
opt_dead_assignments
opt_dead_code
opt_lifetimes
opt_loop_invariants
opt_propagation
opt_strength_reduction
opt_strength_reduction_strict
opt_unroll_loops
opt_vectorize_loops
pool_data
Pool Data
pool_strings
Pool Strings
ppc_unroll_speculative
precompile
preprocess
profile
Generate Profiler Calls
Emit Profiler Calls
readonly_strings
Make String Literals Readonly
readonly_strings.
register_coloring
require_prototypes
Require Function Prototypes
RTTI
Enable RTTI
side_effects
simple_prepdump
SOM-Call-Optimization
SOMCheckEnvironment
static_inlines
stack_cleanup
suppress_init_code
suppress_warnings
sym
syspath_once
toc_data
Store Static Data in TOC
traceback
trigraphs
Expand Trigraphs
trigraphs.
unsigned_char
Use Unsigned Chars
use_fp_instructions
Use V810 Floating-Point Instructions
NEC V800 Processor
use_frame
use_mask_registers
Use r20 and r21 as Mask Registers
warn_emptydecl
Empty Declarations
warn_extracomma
Extra Commas
warn_hidevirtual
Hidden virtual functions
warn_illegal_instructions
warn_illpragma
Illegal Pragmas
warn_implicitconv
Implicit Arithmetic Conversions
warn_no_side_effect
warn_notinlined
Non-Inlined Functions
warn_padding
warn_possunwant
Possible Errors
warn_resultnotused
warn_structclass
Inconsistent Use of `class' and `struct' Keywords
warn_unusedarg
Unused Arguments
warn_unusedvar
Unused Variables
warning_errors
Treat Warnings As Errors
wchar_type
Enable wchar_t Support