aboutsummaryrefslogtreecommitdiffstats
path: root/libsimple/memalloc.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2024-08-18 10:26:08 +0200
committerMattias Andrée <maandree@kth.se>2024-08-18 10:26:08 +0200
commitd5b651159f1e29664c6287b7a1f0df675d7a20dd (patch)
treef7fe4a6bb77584a4dc354ed120fecc438f75bdca /libsimple/memalloc.h
parentAdd needstack, get_stack_direction, get_stack_limit, and get_stack_space (diff)
parentAdd @since for definitions added in version 1.6 (diff)
downloadlibsimple-d5b651159f1e29664c6287b7a1f0df675d7a20dd.tar.gz
libsimple-d5b651159f1e29664c6287b7a1f0df675d7a20dd.tar.bz2
libsimple-d5b651159f1e29664c6287b7a1f0df675d7a20dd.tar.xz
Merge branch 'since'
Diffstat (limited to 'libsimple/memalloc.h')
-rw-r--r--libsimple/memalloc.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/libsimple/memalloc.h b/libsimple/memalloc.h
index 9f894e8..105bb50 100644
--- a/libsimple/memalloc.h
+++ b/libsimple/memalloc.h
@@ -1,6 +1,8 @@
/* See LICENSE file for copyright and license details. */
+/* @since 1.1 */
enum libsimple_memalloc_option {
+ /* @since 1.1 { */
LIBSIMPLE_MEMALLOC_END,
LIBSIMPLE_MEMALLOC_ZERO_INIT,
LIBSIMPLE_MEMALLOC_CONDITIONAL_ZERO_INIT,
@@ -16,9 +18,12 @@ enum libsimple_memalloc_option {
LIBSIMPLE_MEMALLOC_VA_PRODUCT_SIZE,
LIBSIMPLE_MEMALLOC_1_VA_PRODUCT_SIZE,
LIBSIMPLE_MEMALLOC_VA_LIST
+ /* @since 1.1 } */
};
+ /* @since 1.1 */
#define libsimple_arrayalloc_option libsimple_memalloc_option
+/* @since 1.1 { */
#define LIBSIMPLE_MEMALLOC_END LIBSIMPLE_MEMALLOC_END
#define LIBSIMPLE_MEMALLOC_ZERO_INIT LIBSIMPLE_MEMALLOC_ZERO_INIT
#define LIBSIMPLE_MEMALLOC_CONDITIONAL_ZERO_INIT LIBSIMPLE_MEMALLOC_CONDITIONAL_ZERO_INIT
@@ -34,7 +39,9 @@ enum libsimple_memalloc_option {
#define LIBSIMPLE_MEMALLOC_VA_PRODUCT_SIZE LIBSIMPLE_MEMALLOC_VA_PRODUCT_SIZE
#define LIBSIMPLE_MEMALLOC_1_VA_PRODUCT_SIZE LIBSIMPLE_MEMALLOC_1_VA_PRODUCT_SIZE
#define LIBSIMPLE_MEMALLOC_VA_LIST LIBSIMPLE_MEMALLOC_VA_LIST
+/* @since 1.1 } */
+/* @since 1.1 { */
#define LIBSIMPLE_ARRAYALLOC_END LIBSIMPLE_MEMALLOC_END
#define LIBSIMPLE_ARRAYALLOC_ZERO_INIT LIBSIMPLE_MEMALLOC_ZERO_INIT
#define LIBSIMPLE_ARRAYALLOC_CONDITIONAL_ZERO_INIT LIBSIMPLE_MEMALLOC_CONDITIONAL_ZERO_INIT
@@ -47,43 +54,53 @@ enum libsimple_memalloc_option {
#define LIBSIMPLE_ARRAYALLOC_VA_PRODUCT_SIZE LIBSIMPLE_MEMALLOC_VA_PRODUCT_SIZE
#define LIBSIMPLE_ARRAYALLOC_1_VA_PRODUCT_SIZE LIBSIMPLE_MEMALLOC_1_VA_PRODUCT_SIZE
#define LIBSIMPLE_ARRAYALLOC_VA_LIST LIBSIMPLE_MEMALLOC_VA_LIST
+/* @since 1.1 } */
+/* @since 1.1 */
#define libsimple_varrayalloc(TYPE, N, AP)\
libsimple_memalloc(N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
LIBSIMPLE_MEMALLOC_VA_LIST, AP, LIBSIMPLE_MEMALLOC_END)
+/* @since 1.1 */
#define libsimple_evarrayalloc(TYPE, N, AP)\
libsimple_ememalloc(N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
LIBSIMPLE_MEMALLOC_VA_LIST, AP, LIBSIMPLE_MEMALLOC_END)
+/* @since 1.1 */
#define libsimple_envarrayalloc(STATUS, TYPE, N, AP)\
libsimple_enmemalloc(STATUS, N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
LIBSIMPLE_MEMALLOC_VA_LIST, AP, LIBSIMPLE_MEMALLOC_END)
+/* @since 1.1 */
#define libsimple_arrayalloc(TYPE, N, ... /*, LIBSIMPLE_ARRAYALLOC_END */)\
libsimple_memalloc(N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
__VA_ARGS__)
+/* @since 1.1 */
#define libsimple_earrayalloc(TYPE, N, ... /*, LIBSIMPLE_ARRAYALLOC_END */)\
libsimple_ememalloc(N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
__VA_ARGS__)
+/* @since 1.1 */
#define libsimple_enarrayalloc(STATUS, TYPE, N, ... /*, LIBSIMPLE_ARRAYALLOC_END */)\
libsimple_enmemalloc(STATUS, N, LIBSIMPLE_MEMALLOC_ELEMENT_SIZE, sizeof(TYPE),\
LIBSIMPLE_MEMALLOC_ALIGNMENT, _Alignof(TYPE),\
__VA_ARGS__)
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
void *libsimple_vmemalloc(size_t, va_list);
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
void *libsimple_envmemalloc(int, size_t, va_list);
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
inline void *
libsimple_evmemalloc(size_t n__, va_list ap__)
@@ -91,6 +108,7 @@ libsimple_evmemalloc(size_t n__, va_list ap__)
return libsimple_envmemalloc(libsimple_default_failure_exit, n__, ap__);
}
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
inline void *
libsimple_memalloc(size_t n__, ... /*, LIBSIMPLE_MEMALLOC_END */)
@@ -101,6 +119,7 @@ libsimple_memalloc(size_t n__, ... /*, LIBSIMPLE_MEMALLOC_END */)
va_end(ap__);
}
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
inline void *
libsimple_enmemalloc(int status__, size_t n__, ... /*, LIBSIMPLE_MEMALLOC_END */)
@@ -111,6 +130,7 @@ libsimple_enmemalloc(int status__, size_t n__, ... /*, LIBSIMPLE_MEMALLOC_END */
va_end(ap__);
}
+/* @since 1.1 */
LIBSIMPLE_GCC_ONLY__(__attribute__((__malloc__, __warn_unused_result__)))
inline void *
libsimple_ememalloc(size_t n__, ... /*, LIBSIMPLE_MEMALLOC_END */)