1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (c) 2016-2019, Arm Limited and Contributors. All rights reserved. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu */ 6*91f16700Schasinglulu 7*91f16700Schasinglulu #ifndef ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H 8*91f16700Schasinglulu #define ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H 9*91f16700Schasinglulu 10*91f16700Schasinglulu /* EXPORT HEADER -- See include/export/README for details! -- EXPORT HEADER */ 11*91f16700Schasinglulu 12*91f16700Schasinglulu /* 13*91f16700Schasinglulu * For those constants to be shared between C and other sources, apply a 'U', 14*91f16700Schasinglulu * 'UL', 'ULL', 'L' or 'LL' suffix to the argument only in C, to avoid 15*91f16700Schasinglulu * undefined or unintended behaviour. 16*91f16700Schasinglulu * 17*91f16700Schasinglulu * The GNU assembler and linker do not support these suffixes (it causes the 18*91f16700Schasinglulu * build process to fail) therefore the suffix is omitted when used in linker 19*91f16700Schasinglulu * scripts and assembler files. 20*91f16700Schasinglulu */ 21*91f16700Schasinglulu #if defined(__ASSEMBLER__) 22*91f16700Schasinglulu # define U(_x) (_x) 23*91f16700Schasinglulu # define UL(_x) (_x) 24*91f16700Schasinglulu # define ULL(_x) (_x) 25*91f16700Schasinglulu # define L(_x) (_x) 26*91f16700Schasinglulu # define LL(_x) (_x) 27*91f16700Schasinglulu #else 28*91f16700Schasinglulu # define U_(_x) (_x##U) 29*91f16700Schasinglulu # define U(_x) U_(_x) 30*91f16700Schasinglulu # define UL_(_x) (_x##UL) 31*91f16700Schasinglulu # define UL(_x) UL_(_x) 32*91f16700Schasinglulu # define ULL_(_x) (_x##ULL) 33*91f16700Schasinglulu # define ULL(_x) ULL_(_x) 34*91f16700Schasinglulu # define L_(_x) (_x##L) 35*91f16700Schasinglulu # define L(_x) L_(_x) 36*91f16700Schasinglulu # define LL_(_x) (_x##LL) 37*91f16700Schasinglulu # define LL(_x) LL_(_x) 38*91f16700Schasinglulu 39*91f16700Schasinglulu #endif 40*91f16700Schasinglulu 41*91f16700Schasinglulu #endif /* ARM_TRUSTED_FIRMWARE_EXPORT_LIB_UTILS_DEF_EXP_H */ 42