Intrinsic Defines
Documentation
Preprocessor symbols defined by the compiler.Description
Intrinsic defines are set by the compiler and may be used as any other defined symbol. Intrinsic defines often convey information about the state of the compiler, either in general or at a specific point in the compilation process. Most intrinsic defines are associated with a value.
Platform InformationDefines that provide information on the system.
Version InformationDefines that provide information on the
Command-line switchesfbc compiler version being used.Defines that provide information with the command-line switches used with
Environment Informationfbc.Defines that provide information about the operating system environment.
Context-specific InformationDefines that provide context information about the compilation process.
Basic-macrosBuilt-in basic-macros.
ConstantsBuilt-in constants.
| Platform Information __FB_WIN32__ Version InformationDefined if compiling for Windows. __FB_LINUX__Defined if compiling for Linux. __FB_DOS__Defined if compiling for DOS. __FB_CYGWIN__Defined if compiling for Cygwin. __FB_FREEBSD__Defined if compiling for FreeBSD. __FB_NETBSD__Defined if compiling for NetBSD. __FB_OPENBSD__Defined if compiling for OpenBSD. __FB_DARWIN__Defined if compiling for Darwin. __FB_XBOX__Defined if compiling for Xbox. __FB_BIGENDIAN__Defined if compiling on a system using big-endian byte-order. __FB_PCOS__Defined if compiling for a common PC OS (e.g. DOS, Windows, OS/2). __FB_UNIX__Defined if compiling for a Unix-like OS. __FB_64BIT__Defined if compiling for a 64bit target. __FB_ARM__Defined if compiling for the ARM architecture. __FB_PPC__Defined if compiling for the PowerPC architecture. __FB_X86__Defined if compiling for the X86 / X86_64 architecture. __FB_JS__Defined if compiling for emscripten target. __FB_ANDROID__Defined if compiling for android target. __FB_VERSION__ Command-line switchesDefined as a string literal of the compiler version. __FB_VER_MAJOR__Defined as an integral literal of the compiler major version number. __FB_VER_MINOR__Defined as an integral literal of the compiler minor version number. __FB_VER_PATCH__Defined as an integral literal of the compiler patch number. __FB_MIN_VERSION__Macro to check for a minimum compiler version. __FB_BUILD_DATE__Defined as a string literal of the compiler build date in "mm-dd-yyyy" format. __FB_BUILD_DATE_ISO__Defined as a string literal of the compiler build date in "yyyy-mm-dd" format. __FB_SIGNATURE__ Defined as a string literal of the compiler signature. __FB_BUILD_SHA1__ Defined as a string literal of the compiler's source revision sha-1. __FB_BUILD_FORK_ID__ Defined as a string literal of the custom defined project fork identifier name. __FB_ASM__ __FB_BACKEND__ __FB_GCC__ True ( __FB_OPTIMIZE__-1) if -gen gcc is used, false (0) otherwise.Defined to the optimization level depending on -O. __FB_GUI__True ( __FB_MAIN__-1) if the "-s gui" switch was used, false (0) otherwise.Defined if compiling a module with an entry point. __FB_DEBUG__True ( __FB_ERR__-1) if the "-g" switch was used, false (0) otherwise.Zero ( __FB_FPMODE__0) if neither the "-e", "-ex" or "-exx" switches were used.Defined as __FB_FPU__"fast" if compiling for fast SSE math, "precise" otherwise.Defined as __FB_LANG__"sse" if compiling for SSE floating point unit, or "x87" for normal x87 floating-point unit.Defined to a string literal of the __FB_MT__"-lang" dialect used.True ( __FB_OUT_DLL__-1) if the "-mt" switch was used, false (0) otherwise.True ( __FB_OUT_EXE__-1) in a module being compiled and linked into a shared library, false (0) otherwise.True ( __FB_OUT_LIB__-1) in a module being compiled and linked into an executable, false (0) otherwise.True ( __FB_OUT_OBJ__-1) in a module being compiled and linked into a static library, zero (0) otherwise.True ( __FB_PROFILE__-1) in a module being compiled only, zero (0) otherwise.Set to an integer to indicate the profiling method. __FB_SSE__Defined if compiling for SSE floating point unit. __FB_VECTORIZE__Defined as the level of automatic vectorization ( 0 to 2) | Environment Information __FB_ARGC__ Context-specific InformationDefined as an integer literal of the number of command-line arguments passed to the program. __FB_ARGV____DATE__ Defined as a string literal of the compilation date in "mm-dd-yyyy" format. __DATE_ISO__Defined as a string literal of the compilation date in "yyyy-mm-dd" format. __TIME__Defined as a string literal of the compilation time. __PATH__Defined as a string literal of the absolute path of the module. __FILE__ and __FILE_NQ__ Basic-macrosDefined as the name of the module. __FUNCTION__ and __FUNCTION_NQ__Defined as the name of the procedure where it's used. __LINE__Defined as an integer literal of the line of the module where it's used. __FB_OPTION_BYVAL__True ( __FB_OPTION_DYNAMIC__-1) if parameters are declared by value by default, zero (0) otherwise.True ( __FB_OPTION_ESCAPE__-1) if all arrays are variable-length, zero (0) otherwise.True ( __FB_OPTION_GOSUB__-1) if string literals are processed for escape sequences, zero (0) otherwise.True ( __FB_OPTION_EXPLICIT__-1) if gosub support is enabled, zero (0) otherwise.True ( __FB_OPTION_PRIVATE__-1) if variables and objects need to be explicitly declared, zero (0) otherwise.True ( __FB_OPTION_PROFILE__-1) if all procedures are private by default, zero (0) otherwise.True ( -1) if profiling code is generated, zero (0) otherwise.__FB_ARG_COUNT__ ConstantsCounts the number of arguments in an argument list. __FB_ARG_EXTRACT__Returns nth argument from an argument list. __FB_ARG_LEFTOF__Returns left token based on separator. __Fb_Arg_Listexpand__Expands a macro one or more time on an argument list __FB_ARG_RIGHTOF__Returns right token based on separator. __FB_EVAL__Evaluates an argument (expression) at compile time. __FB_IIF__Returns an expression depending on the result of a comparison expression evaluated at compile time. __FB_JOIN__Joins two token arguments together as one. __Fb_Query_Symbol__Queries a __FB_QUOTE__fbc's symbol internals.Converts the argument to a string. __FB_UNIQUEID__Gets the identifier at the top of a stack. __FB_UNIQUEID_POP__Pops an identifier off of a stack. __FB_UNIQUEID_PUSH__Pushes a new unique identifier on to a stack. __FB_UNQUOTE__Takes a literal string and converts it back to tokens. |