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

