24 lines
1.0 KiB
C
24 lines
1.0 KiB
C
/* This software is licensed by the MIT License, see LICENSE file */
|
|
/* Copyright © 2022 Gregory Lirent */
|
|
|
|
#ifndef LIBCDSB_CORE_ATTRIBUTES_H
|
|
#define LIBCDSB_CORE_ATTRIBUTES_H
|
|
|
|
#define LIBCDSB_nt__ __attribute__ ((nothrow))
|
|
#define LIBCDSB_nn1__ __attribute__ ((nonnull (1)))
|
|
#define LIBCDSB_nn2__ __attribute__ ((nonnull (2)))
|
|
#define LIBCDSB_nn12__ __attribute__ ((nonnull (1,2)))
|
|
#define LIBCDSB_nn123__ __attribute__ ((nonnull (1,2,3)))
|
|
#define LIBCDSB_nn124__ __attribute__ ((nonnull (1,2,4)))
|
|
#define LIBCDSB_nn13__ __attribute__ ((nonnull (1,3)))
|
|
#define LIBCDSB_nn23__ __attribute__ ((nonnull (2,3)))
|
|
#define LIBCDSB_nn23__ __attribute__ ((nonnull (2,3)))
|
|
#define LIBCDSB_pure__ LIBCDSB_nt__ __attribute__ ((pure))
|
|
#define LIBCDSB_wur__ __attribute__ ((warn_unused_result))
|
|
|
|
#define LIBCDSB_cmpattr__ LIBCDSB_pure__ LIBCDSB_nn12__
|
|
#define LIBCDSB_cpyattr__ LIBCDSB_pure__ LIBCDSB_wur__ LIBCDSB_nn1__
|
|
#define LIBCDSB_dupattr__ LIBCDSB_wur__ LIBCDSB_nn1__
|
|
|
|
#endif /* LIBCDSB_CORE_ATTRIBUTES_H */
|