Repository navigation
Intrinsic Defines
Home › Intrinsic Defines › Intrinsic Defines
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 Information
Defines that provide information on the system.
Version Information
Defines that provide information on the compiler version being used.
Command-line switches
Defines that provide information with the command-line switches used with the compiler.
Environment Information
Defines that provide information about the operating system environment.
Context-specific Information
Defines that provide context information about the compilation process.
Basic-macros
Built-in basic-macros.
Constants
Built-in constants.
Platform Information
Defined if compiling for Windows.
Defined if compiling for Linux.
Defined if compiling for DOS.
Defined if compiling for Cygwin.
Defined if compiling for FreeBSD.
Defined if compiling for NetBSD.
Defined if compiling for OpenBSD.
Defined if compiling for Darwin.
Defined if compiling for Xbox.
Defined if compiling on a system using big-endian byte-order.
Defined if compiling for a common PC OS (e.g. DOS, Windows, OS/2).
Defined if compiling for a Unix-like OS.
Defined if compiling for a 64bit target.
Defined if compiling for the ARM architecture.
Defined if compiling for the PowerPC architecture.
Defined if compiling for the X86 / X86_64 architecture.
Defined if compiling for emscripten target.
Defined if compiling for android target.
Version Information
Defined as a string literal of the compiler version.
Defined as an integral literal of the compiler major version number.
Defined as an integral literal of the compiler minor version number.
Defined as an integral literal of the compiler patch number.
Macro to check for a minimum compiler version.
Defined as a string literal of the compiler build date in "mm-dd-yyyy" format.
Defined as a string literal of the compiler build date in "yyyy-mm-dd" format.
Defined as a string literal of the compiler signature.
Defined as a string literal of the compiler's source revision sha-1.
Defined as a string literal of the custom defined project fork identifier name.
Command-line switches
Defined to either "intel" or "att" depending on -asm.
Defined to either "gas" or "gcc" depending on -gen.
True (-1) if -gen gcc is used, false (0) otherwise.
Defined to the optimization level depending on -O.
True (-1) if the "-s gui" switch was used, false (0) otherwise.
Defined if compiling a module with an entry point.
__FB_DEBUG__
True (-1) if the "-g" switch was used, false (0) otherwise.
Zero (0) if neither the "-e", "-ex" or "-exx" switches were used.
Defined as "fast" if compiling for fast SSE math, "precise" otherwise.
Defined as "sse" if compiling for SSE floating point unit, or "x87" for normal x87 floating-point unit.
Defined to a string literal of the "-lang" dialect used.
True (-1) if the "-mt" switch was used, false (0) otherwise.
True (-1) in a module being compiled and linked into a shared library, false (0) otherwise.
True (-1) in a module being compiled and linked into an executable, false (0) otherwise.
True (-1) in a module being compiled and linked into a static library, zero (0) otherwise.
True (-1) in a module being compiled only, zero (0) otherwise.
Set to an integer to indicate the profiling method.
Defined if compiling for SSE floating point unit.
Defined as the level of automatic vectorization (0 to 2)
Environment Information
Defined as an integer literal of the number of command-line arguments passed to the program.
Defined as a ZString Ptr Ptr to the command line arguments passed to the program.
Defined as a string literal of the compilation date in "mm-dd-yyyy" format.
Defined as a string literal of the compilation date in "yyyy-mm-dd" format.
Defined as a string literal of the compilation time.
Defined as a string literal of the absolute path of the module.
Context-specific Information
__FILE__ and __FILE_NQ__
Defined as the name of the module.
__FUNCTION__ and __FUNCTION_NQ__
Defined as the name of the procedure where it's used.
Defined as an integer literal of the line of the module where it's used.
True (-1) if parameters are declared by value by default, zero (0) otherwise.
True (-1) if all arrays are variable-length, zero (0) otherwise.
True (-1) if string literals are processed for escape sequences, zero (0) otherwise.
True (-1) if gosub support is enabled, zero (0) otherwise.
True (-1) if variables and objects need to be explicitly declared, zero (0) otherwise.
True (-1) if all procedures are private by default, zero (0) otherwise.
True (-1) if profiling code is generated, zero (0) otherwise.
Basic-macros
Counts the number of arguments in an argument list.
Returns nth argument from an argument list.
Returns left token based on separator.
Expands a macro one or more time on an argument list
Returns right token based on separator.
Evaluates an argument (expression) at compile time.
Returns an expression depending on the result of a comparison expression evaluated at compile time.
Joins two token arguments together as one.
Queries the compiler's symbol internals.
Converts the argument to a string.
Gets the identifier at the top of a stack.
Pops an identifier off of a stack.
Pushes a new unique identifier on to a stack.
Takes a literal string and converts it back to tokens.
Constants
Intrinsic constants for the Boolean data type.
Category: Intrinsic Defines
Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.
tiko-lang · Home · Feature Index · Keyword Index · License
FreeBASIC manual pages reproduced under the GNU FDL 1.3.
- Generics
- Interfaces
- For Each
- Iterators
- Tuples
- Array Results
- Defer
- Lambdas
- Block Strings
- String Slices
- Embed
- Typed Variadics
- C Header Import
- Foreign Library Linking
- UString
- Fixed-Width Types
- Nullptr
- String Library
- Format
- Array
- Map
- Set
- LinkedList
- OrderedMap
- OrderedSet
- Sorting
- Optional
- Result
- Smart Pointers
- Date and Time (Chrono)
- Filesystem
- File Streams
- Config (INI and TOML)
- Codec
- Hash
- UUID
- OS
- Process
- Net
- HTTP and TLS
- Math Library
- Finance
- Logging
- Terminal TUI Library
- PsControls
- tkControls
- sys/win
- Goroutines and Channels
- LLVM Backend
- tiko build
- TIKO_COMPILER
- Variable Declarations
- Standard Data Types
- User Defined Types
- Procedures
- Operators
- Control Flow Statements
- Converting Data Types
- Array Functions
- String Functions
- Mathematical Functions
- Bit Manipulation
- Date and Time Functions
- File I/O Functions
- Console Functions
- User Input (Runtime Library)
- User Input Functions (Graphics Library)
- Screen Functions
- 2D Drawing Functions
- Graphics Library Reference
- Graphics Keyword List
- Memory Functions
- Threading Support Functions
- Error Handling Functions
- Operating System Functions
- Preprocessor
- Intrinsic Defines
- Miscellaneous Keywords
- Modularizing