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
-z no-fastcall
-z fbrt
-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-z no-fastcall
-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:
Back to Compiler Options