Compiler Option: -z
Sets miscellaneous or experimental compiler options.
Syntax
`
-z < value >
`
Parameters
`value`
Miscellaneous compiler option.
Description
The `-z` compiler option sets miscellaneous, obscure, temporary, or experimental options used by the developers. There is no guarantee that these options will be supported in future versions of the compiler.
-z gosub-setjmp
Specifies that the `setjmp`/`longjmp` implementation of `GoSub` should be used even when the GAS backend is used. By default, `GoSub` will be supported in -gen gas using `CALL`/`RET` assembly instructions and in -gen gcc using `setjmp`/`longjmp` C runtime functions.
-z valist-as-ptr
Specifies that the implementation of `Cva_List` variable argument lists and macros for variadic procedures should use a normal pointer type if the target supports it. By default, `Cva_List` data types are mapped to gcc's `__builtin_va_list` data type when using -gen gcc.
-z no-thiscall
Instructs fbc to ignore `__Thiscall` directives in source files.
-z no-fastcall
Instructs fbc to ignore `__Fastcall` directives in source files.
-z fbrt
Instructs fbc to link with the `libfbrt[mt].a` library instead of the `libfb[mt].a` library rather than having to copy or move files around or have multiple development directories.
-z nocmdline
Instructs fbc to ignore all `Cmdline` directives in source file and take control from the real compiler command line only.
-z retinflts
Instructs fbc to enable returning some structures (types) in floating point registers.
-z nobuiltins
Instructs fbc to disable all builtin declarations and definitions except those that are strictly necessary to initialize the compiler to a working state when it can begin to parse user code. The user code must then supply all of the required declarations and definitions needed by fbc internals to allow compilation of user code to succeed. Note well that using this option requires knowledge of the internal workings of the compiler. For experimentation and development this allows declaring and defining nearly all fbc builtins in fb user code. The actual user code declarations required will depend on the contents of the user code to be compiled. fbc is expected to throw an error if the required supporting declarations or definitions have not been made before they are required by fbc itself while parsing the user source code (fbc may also crash instead).
-z optabstract
Instructs fbc not to emit unused pure abstract types.
Version

- Since fbc 1.20.0: `optabstract` compiler option
- Since fbc 1.20.0: `nobuiltins` compiler option
- Since fbc 1.10.0: `retinflts` compiler option
- Since fbc 1.10.0: `no-fastcall` compiler option.
- Since fbc 1.09.0: `nocmdline` compiler option
- Since fbc 1.09.0: `fbrt` compiler option.
- Since fbc 1.09.0: `no-thiscall` compiler option.
- Since fbc 1.08.1: `valist-as-ptr` compiler option.
- Since fbc 0.20.0: `gosub-setjmp` compiler option.

See also

- Using the Command Line