1 /*
2  * Copyright (c) 2020 Raspberry Pi (Trading) Ltd.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 #ifndef __PICO_LLVM_LIBC_SYS_CDEFS_H
8 #define __PICO_LLVM_LIBC_SYS_CDEFS_H
9 
10 #if defined(__STDC__) || defined(__cplusplus)
11 
12 #define __CONCAT1(x,y)  x ## y
13 #define __CONCAT(x,y)   __CONCAT1(x,y)
14 #define __STRING(x)     #x
15 #define __XSTRING(x)    __STRING(x)
16 
17 #endif
18 
19 #define __unused        __attribute__((__unused__))
20 #define __used          __attribute__((__used__))
21 #define __packed        __attribute__((__packed__))
22 #define __aligned(x)    __attribute__((__aligned__(x)))
23 
24 #define __always_inline __inline__ __attribute__((__always_inline__))
25 #define __noinline      __attribute__((__noinline__))
26 
27 #define __printflike(fmtarg, firstvararg) \
28   __attribute__((__format__ (__printf__, fmtarg, firstvararg)))
29 
30 #endif
31