/* * Copyright (c) 2018-2022, Arm Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef CDEFS_H #define CDEFS_H #define __dead2 __attribute__((__noreturn__)) #define __deprecated __attribute__((__deprecated__)) #define __packed __attribute__((__packed__)) #define __used __attribute__((__used__)) #define __unused __attribute__((__unused__)) #define __maybe_unused __attribute__((__unused__)) #define __aligned(x) __attribute__((__aligned__(x))) #define __section(x) __attribute__((__section__(x))) #define __fallthrough __attribute__((__fallthrough__)) #if RECLAIM_INIT_CODE /* * Add each function to a section that is unique so the functions can still * be garbage collected */ #define __init __section(".text.init." __FILE__ "." __XSTRING(__LINE__)) #else #define __init #endif #define __printflike(fmtarg, firstvararg) \ __attribute__((__format__ (__printf__, fmtarg, firstvararg))) #define __weak_reference(sym, alias) \ __asm__(".weak alias"); \ __asm__(".equ alias, sym") #define __STRING(x) #x #define __XSTRING(x) __STRING(x) #endif /* CDEFS_H */