1 /* 2 * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef CDEFS_H 8 #define CDEFS_H 9 10 #define __dead2 __attribute__((__noreturn__)) 11 #define __deprecated __attribute__((__deprecated__)) 12 #define __packed __attribute__((__packed__)) 13 #define __used __attribute__((__used__)) 14 #define __unused __attribute__((__unused__)) 15 #define __aligned(x) __attribute__((__aligned__(x))) 16 #define __section(x) __attribute__((__section__(x))) 17 18 #define __printflike(fmtarg, firstvararg) \ 19 __attribute__((__format__ (__printf__, fmtarg, firstvararg))) 20 21 #define __weak_reference(sym, alias) \ 22 __asm__(".weak alias"); \ 23 __asm__(".equ alias, sym") 24 25 #define __STRING(x) #x 26 #define __XSTRING(x) __STRING(x) 27 28 #endif /* CDEFS_H */ 29