1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /*
- * Copyright (c) 2016-2019, Arm Limited and Contributors. All rights reserved.
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
- #ifndef ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H
- #define ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H
- /* EXPORT HEADER -- See include/export/README for details! -- EXPORT HEADER */
- /*
- * For those constants to be shared between C and other sources, apply a 'U',
- * 'UL', 'ULL', 'L' or 'LL' suffix to the argument only in C, to avoid
- * undefined or unintended behaviour.
- *
- * The GNU assembler and linker do not support these suffixes (it causes the
- * build process to fail) therefore the suffix is omitted when used in linker
- * scripts and assembler files.
- */
- #if defined(__ASSEMBLER__)
- # define U(_x) (_x)
- # define UL(_x) (_x)
- # define ULL(_x) (_x)
- # define L(_x) (_x)
- # define LL(_x) (_x)
- #else
- # define U_(_x) (_x##U)
- # define U(_x) U_(_x)
- # define UL_(_x) (_x##UL)
- # define UL(_x) UL_(_x)
- # define ULL_(_x) (_x##ULL)
- # define ULL(_x) ULL_(_x)
- # define L_(_x) (_x##L)
- # define L(_x) L_(_x)
- # define LL_(_x) (_x##LL)
- # define LL(_x) LL_(_x)
- #endif
- #endif /* ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H */
|