Files

198 lines
7.3 KiB
C
Vendored

/* Zeta API - Z/inspection/compiler/modules/TinyCC.h
______ ______________ ___
|__ / | ___|___ ___|/ \
/ /__| __| | | / - \
/______|_____| |__| /__/ \__\
Copyright (C) 2006-2025 Manuel Sainz de Baranda y Goñi.
Released under the terms of the GNU Lesser General Public License v3. */
#ifndef Z_inspection_compiler_modules_TinyCC_H
#define Z_inspection_compiler_modules_TinyCC_H
/* MARK: - Identification */
#define Z_COMPILER_IS_TINY_CC 1
#define Z_COMPILER_NAME Z_COMPILER_NAME_TINY_CC
#define Z_COMPILER_VERSION \
Z_VERSION(__TINYC__ / 1000, (__TINYC__ % 1000) / 100, __TINYC__ % 100)
/*#define Z_COMPILER_VERSION_STRING*/
/* MARK: - ISA */
#if defined(__x86_64__)
# define Z_COMPILER_ISA Z_ISA_X86_64
#elif defined(__i386 ) \
defined(__i386__) \
defined(i386 )
# define Z_COMPILER_ISA Z_ISA_X86_32
#elif defined(__aarch64__)
# define Z_COMPILER_ISA Z_ISA_AARCH64
#elif defined(__arm ) \
defined(__arm__) \
defined(arm )
# define Z_COMPILER_ISA Z_ISA_AARCH32
#elif defined(__C67__)
/*# define Z_COMPILER_ISA Z_ISA_C67*/
#endif
#ifdef __ARMEL__
# define Z_COMPILER_ISA_INTEGRAL_ENDIANNESS Z_ENDIANNESS_LITTLE
#endif
/* MARK: - OS */
#if defined(__linux ) || \
defined(__linux__)
# define Z_COMPILER_OS Z_OS_LINUX
#elif defined(_WIN32) || \
defined(_WIN64)
# define Z_COMPILER_OS Z_OS_WINDOWS
#elif defined(__FreeBSD__ ) || \
defined(__FreeBSD_kernel__)
# define Z_COMPILER_OS Z_OS_FREE_BSD
#elif defined(__NetBSD__)
# define Z_COMPILER_OS Z_OS_NET_BSD
#elif defined(__OpenBSD__)
# define Z_COMPILER_OS Z_OS_OPEN_BSD
#endif
/* MARK: - Bit field order */
/*#define Z_COMPILER_BIT_FIELD_ORDER_ALL*/
/*#define Z_COMPILER_BIT_FIELD_ORDER_8BIT*/
/*#define Z_COMPILER_BIT_FIELD_ORDER_16BIT*/
/*#define Z_COMPILER_BIT_FIELD_ORDER_32BIT*/
/*#define Z_COMPILER_BIT_FIELD_ORDER_64BIT*/
/*#define Z_COMPILER_BIT_FIELD_ORDER_128BIT*/
/* MARK: - Data model */
#if defined(__ILP32__)
# define Z_COMPILER_DATA_MODEL Z_DATA_MODEL_ILP32
#elif defined(__LLP64__)
# define Z_COMPILER_DATA_MODEL Z_DATA_MODEL_LLP64
#elif defined(__LP64__)
# define Z_COMPILER_DATA_MODEL Z_DATA_MODEL_LP64
#endif
/* MARK: - Language: C78 */
/*#define Z_COMPILER_HAS_C_OLD_STYLE_FUNCTION*/
#define Z_COMPILER_HAS_C_OPERATOR_SIZEOF 1
#define Z_COMPILER_HAS_C_STORAGE_CLASS_AUTO 1
#define Z_COMPILER_HAS_C_STORAGE_CLASS_EXTERN 1
#define Z_COMPILER_HAS_C_STORAGE_CLASS_REGISTER 1
#define Z_COMPILER_HAS_C_STORAGE_CLASS_STATIC 1
#define Z_COMPILER_HAS_C_TYPE_DOUBLE 1
#define Z_COMPILER_HAS_C_TYPE_FLOAT 1
/* MARK: - Language: C89 */
#define Z_COMPILER_HAS_C89_CONSTANT_INITIALIZATION_FOR_LOCAL_AGGREGATE 1
#define Z_COMPILER_HAS_C89_CONSTANT_INITIALIZATION_FOR_UNION 1
#define Z_COMPILER_HAS_C89_CONSTRUCT_AS_FUNCTION_ARGUMENT 1
#define Z_COMPILER_HAS_C89_CONSTRUCT_RETURN 1
#define Z_COMPILER_HAS_C89_CONSTRUCT_ASSIGNMENT 1
#define Z_COMPILER_HAS_C89_CONSTRUCT_NAMESPACE 1
#define Z_COMPILER_HAS_C89_ENUMERATION 1
#define Z_COMPILER_HAS_C89_FUNCTION_POINTER_AUTODEREFERENCING 1
#define Z_COMPILER_HAS_C89_FUNCTION_PROTOTYPE 1
#define Z_COMPILER_HAS_C89_INTEGRAL_SWITCH 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_INDENTATION 1
#define Z_COMPILER_HAS_C89_REMOVAL_OF_ENTRY_AS_KEYWORD 1
#define Z_COMPILER_HAS_C89_REMOVAL_OF_LONG_FLOAT_AS_TYPE 1
#define Z_COMPILER_HAS_C89_STRING_LITERAL_CONCATENATION 1
#define Z_COMPILER_HAS_C89_TRIGRAPHS 1
#define Z_COMPILER_HAS_C89_VALUE_PRESERVING_UNSIGNED_CONVERSION 1
#define Z_COMPILER_HAS_C89_ESCAPE_SEQUENCE_ALERT 1
#define Z_COMPILER_HAS_C89_ESCAPE_SEQUENCE_HEXADECIMAL 1
#define Z_COMPILER_HAS_C89_ESCAPE_SEQUENCE_VERTICAL_TAB 1
#define Z_COMPILER_HAS_C89_LITERAL_FLOAT 1
#define Z_COMPILER_HAS_C89_LITERAL_UNSIGNED 1
#define Z_COMPILER_HAS_C89_LITERAL_WCHAR_T_CHARACTER 1
#define Z_COMPILER_HAS_C89_LITERAL_WCHAR_T_STRING 1
#define Z_COMPILER_HAS_C89_OPERATOR_UNARY_PLUS 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_DIRECTIVE_NULL 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_DIRECTIVE_ELIF 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_DIRECTIVE_ERROR 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_DIRECTIVE_LINE 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_DIRECTIVE_PRAGMA 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_OPERATOR_DEFINED 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_OPERATOR_PASTING 1
#define Z_COMPILER_HAS_C89_PREPROCESSOR_OPERATOR_STRINGIZING 1
#define Z_COMPILER_HAS_C89_TYPE_LONG_DOUBLE 1
#define Z_COMPILER_HAS_C89_TYPE_UNSIGNED_CHAR 1
#define Z_COMPILER_HAS_C89_TYPE_UNSIGNED_LONG 1
#define Z_COMPILER_HAS_C89_TYPE_UNSIGNED_SHORT 1
#define Z_COMPILER_HAS_C89_TYPE_VOID 1
#define Z_COMPILER_HAS_C89_TYPE_VOID_POINTER 1
#define Z_COMPILER_HAS_C89_TYPE_MODIFIER_SIGNED 1
#define Z_COMPILER_HAS_C89_TYPE_QUALIFIER_CONST 1
#define Z_COMPILER_HAS_C89_TYPE_QUALIFIER_VOLATILE 1
/* MARK: - Language: C95 */
/*#define Z_COMPILER_HAS_C95_DIGRAPHS*/
/* MARK: - Language: C99 */
/*#define Z_COMPILER_HAS_C99_COMPOUND_LITERAL*/
/*#define Z_COMPILER_HAS_C99_CONVERSION_OF_NON_LVALUE_ARRAY_TO_POINTER*/
/*#define Z_COMPILER_HAS_C99_CPP_STYLE_COMMENT*/
/*#define Z_COMPILER_HAS_C99_DESIGNATED_INITIALIZATION*/
/*#define Z_COMPILER_HAS_C99_EMPTY_MACRO_ARGUMENT*/
/*#define Z_COMPILER_HAS_C99_EXTENDED_IDENTIFIER*/
/*#define Z_COMPILER_HAS_C99_FLEXIBLE_ARRAY_MEMBER*/
/*#define Z_COMPILER_HAS_C99_FOR_WITH_DECLARATION*/
/*#define Z_COMPILER_HAS_C99_IDEMPOTENT_TYPE_QUALIFIERS*/
/*#define Z_COMPILER_HAS_C99_MIXED_DECLARATIONS_AND_CODE*/
/*#define Z_COMPILER_HAS_C99_NON_CONSTANT_INITIALIZATION_FOR_LOCAL_AGGREGATE*/
/*#define Z_COMPILER_HAS_C99_PREPROCESSOR_ARITHMETIC_DONE_IN_INTMAX*/
/*#define Z_COMPILER_HAS_C99_RELIABLE_INTEGER_DIVISION*/
/*#define Z_COMPILER_HAS_C99_REMOVAL_OF_ILL_FORMED_RETURN*/
/*#define Z_COMPILER_HAS_C99_REMOVAL_OF_IMPLICIT_FUNCTION_DECLARATION*/
/*#define Z_COMPILER_HAS_C99_REMOVAL_OF_IMPLICIT_INT*/
/*#define Z_COMPILER_HAS_C99_STATIC_IN_ARRAY_PARAMETER_DECLARATION*/
/*#define Z_COMPILER_HAS_C99_TRAILING_COMMA_ALLOWED_IN_ENUMERATION*/
/*#define Z_COMPILER_HAS_C99_TYPE_QUALIFIERS_IN_ARRAY_PARAMETER_DECLARATION*/
/*#define Z_COMPILER_HAS_C99_UNIVERSAL_CHARACTER_NAME*/
/*#define Z_COMPILER_HAS_C99_VARIADIC_MACRO*/
/*#define Z_COMPILER_HAS_C99_VLA*/
/*#define Z_COMPILER_HAS_C99_IDENTIFIER_FUNC*/
/*#define Z_COMPILER_HAS_C99_LITERAL_HEXADECIMAL_FLOATING_POINT*/
/*#define Z_COMPILER_HAS_C99_PREPROCESSOR_OPERATOR_PRAGMA*/
/*#define Z_COMPILER_HAS_C99_SPECIFIER_INLINE*/
/*#define Z_COMPILER_HAS_C99_STD_PRAGMA_CX_LIMITED_RANGE*/
/*#define Z_COMPILER_HAS_C99_STD_PRAGMA_FENV_ACCESS*/
/*#define Z_COMPILER_HAS_C99_STD_PRAGMA_FP_CONTRACT*/
/*#define Z_COMPILER_HAS_C99_TYPE_BOOL*/
/*#define Z_COMPILER_HAS_C99_TYPE_DOUBLE_COMPLEX*/
/*#define Z_COMPILER_HAS_C99_TYPE_DOUBLE_IMAGINARY*/
/*#define Z_COMPILER_HAS_C99_TYPE_FLOAT_COMPLEX*/
/*#define Z_COMPILER_HAS_C99_TYPE_FLOAT_IMAGINARY*/
/*#define Z_COMPILER_HAS_C99_TYPE_LONG_DOUBLE_COMPLEX*/
/*#define Z_COMPILER_HAS_C99_TYPE_LONG_DOUBLE_IMAGINARY*/
/*#define Z_COMPILER_HAS_C99_TYPE_LONG_LONG*/
/*#define Z_COMPILER_HAS_C99_TYPE_MODIFIER_COMPLEX*/
/*#define Z_COMPILER_HAS_C99_TYPE_MODIFIER_IMAGINARY*/
/*#define Z_COMPILER_HAS_C99_TYPE_QUALIFIER_RESTRICT*/
#endif /* Z_inspection_compiler_modules_TinyCC_H */