XIEITE_ARCH_TYPE_ /*???*/
, XIEITE_ARCH_MAJOR_ /*???*/
, XIEITE_ARCH_MINOR_ /*???*/
, XIEITE_ARCH_PATCH_ /*???*/
, XIEITE_ARCH_VER ()
Defined in header <xieite/pp/arch.hpp>
Macros for identifying the current computer architecture and its version (major, minor, patch). The macros are not mutually exclusive.
Definitions
#typeAppend one of:#define XIEITE_ARCH_TYPE_ /*???*/ /* boolean integer literal */ #define XIEITE_ARCH_MAJOR_ /*???*/ /* integer literal */ #define XIEITE_ARCH_MINOR_ /*???*/ /* integer literal */ #define XIEITE_ARCH_PATCH_ /*???*/ /* integer literal */
AARCH32
, AARCH64
, ALPHA
, BLACKFIN
, CONVEX
, CRAY
, CRAY_T3D
, CRAY_T3E
, CSKY
, EPIPHANY
, ELBRUS_2000
, FR30
, HEXAGON
, HP_800
, HP_9000
, IA64
, IBM_SYSTEM_32
, IBM_SYSTEM_370
, IBM_SYSTEM_390
, IBM_Z
, LOONGARCH
, M_CORE
, M32R
, MIPS
, MMIX
, MN103
, MOTOROLA_68000
, MOXIE
, NDS32
, NEC_SX_AURORA_TSUBASA
, NIOS_II
, OR1K
, PA_RISC
, PDP_11
, PNACL
, POWERPC
, PTX
, PYRAMID_9810
, RISC_V
, RS_6000
, SPARC
, SUPERH
, TAHOE
, TMS320
, TMS470
, V850
, VAX
, X80
, X86_32
, X86_64
, XENON
, XSTORMY16
, XTENSA
. See example.#ver
Allows up to two additional arguments for the minor and patch versions. Expands to an expression checking whether an architecture is present and the comparison of its version to the provided arguments.#define XIEITE_ARCH_VER (_type ,_cmp ,_major ,... /* _minor, _patch */ )/* boolean expression */
Example
Possible output:int main () {std ::println ("Is target architecture PowerPC > v600? ,{} "XIEITE_ARCH_VER (POWERPC, >,600 )); }
[View in Compiler Explorer]Is target architecture PowerPC > v600? false