Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
toolchain.h File Reference

Macros to abstract toolchain specific capabilities. More...

Go to the source code of this file.

Macros

Compiler builtins, versions, and feature probes
#define HAS_BUILTIN(x)
 Check if the compiler supports the built-in function x.
#define TOOLCHAIN_GCC_VERSION   0
 GCC version in xxyyzz for xx.yy.zz.
#define TOOLCHAIN_CLANG_VERSION   0
 Clang version in xxyyzz for xx.yy.zz.
#define TOOLCHAIN_HAS_PRAGMA_DIAG   0
 Indicate if toolchain supports #pragma diagnostics.
#define TOOLCHAIN_HAS_C_GENERIC   0
 Indicate if toolchain supports C Generic.
#define TOOLCHAIN_HAS_C_AUTO_TYPE   0
 Indicate if toolchain supports C __auto_type.
#define TOOLCHAIN_HAS_ZLA   0
 Indicate if toolchain supports Zero Length Arrays.
#define TOOLCHAIN_PRAGMA(x)
 Helper for using pragma in macros.
Compiler warning identifiers
#define TOOLCHAIN_WARNING_ADDRESS_OF_PACKED_MEMBER
 Toolchain-specific warning for taking the address of a packed member.
#define TOOLCHAIN_WARNING_ARRAY_BOUNDS
 Toolchain-specific warning for array bounds violations.
#define TOOLCHAIN_WARNING_ATTRIBUTES
 Toolchain-specific warning for unknown attributes.
#define TOOLCHAIN_WARNING_DELETE_NON_VIRTUAL_DTOR
 Toolchain-specific warning for deleting a pointer to an object with a non-virtual destructor.
#define TOOLCHAIN_WARNING_EXTRA
 Toolchain-specific warning for extra warnings.
#define TOOLCHAIN_WARNING_ARM_INTERRUPT_VFP_CLOBBER
 Toolchain-specific warning for ARM interrupt service routines with VFP enabled that may clobber the VFP state.
#define TOOLCHAIN_WARNING_NONNULL
 Toolchain-specific warning for null pointer arguments to functions marked with "nonnull".
#define TOOLCHAIN_WARNING_POINTER_ARITH
 Toolchain-specific warning for pointer arithmetic.
#define TOOLCHAIN_WARNING_SHADOW
 Toolchain-specific warning for shadow variables.
#define TOOLCHAIN_WARNING_UNUSED_LABEL
 Toolchain-specific warning for unused labels.
#define TOOLCHAIN_WARNING_UNUSED_VARIABLE
 Toolchain-specific warning for unused variables.
#define TOOLCHAIN_WARNING_ALWAYS_INLINE
 Toolchain-specific warning for inline functions.
#define TOOLCHAIN_WARNING_CAST_QUAL
 Toolchain-specific warning for pointer casts removing a type qualifier.
Compiler warning control
#define TOOLCHAIN_DISABLE_WARNING(warning)
 Disable the specified compiler warning for all compilers.
#define TOOLCHAIN_ENABLE_WARNING(warning)
 Re-enable the specified compiler warning for all compilers.
#define TOOLCHAIN_DISABLE_CLANG_WARNING(warning)
 Disable the specified compiler warning for clang.
#define TOOLCHAIN_ENABLE_CLANG_WARNING(warning)
 Re-enable the specified compiler warning for clang.
#define TOOLCHAIN_DISABLE_GCC_WARNING(warning)
 Disable the specified compiler warning for gcc.
#define TOOLCHAIN_ENABLE_GCC_WARNING(warning)
 Re-enable the specified compiler warning for gcc.
#define TOOLCHAIN_DISABLE_IAR_WARNING(warning)
 Disable the specified compiler warning for IAR compilers.
#define TOOLCHAIN_ENABLE_IAR_WARNING(warning)
 Re-enable the specified compiler warning for IAR compilers.

Detailed Description

Macros to abstract toolchain specific capabilities.

This file contains various macros to abstract compiler capabilities that utilize toolchain specific attributes and/or pragmas.