198 lines
7.3 KiB
C
Vendored
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 */
|