aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-10-30 18:44:35 -0400
committerDavid Robillard <d@drobilla.net>2022-10-30 18:46:24 -0400
commitb30d8f984cd2744d06044c28b6a76399e3634e00 (patch)
treed9c93c4338aa78adf8e259e79b7b96b66a2759cb /include
parentdecde99974f4d879329837d2f8ceb6a556895127 (diff)
downloadpugl-b30d8f984cd2744d06044c28b6a76399e3634e00.tar.gz
pugl-b30d8f984cd2744d06044c28b6a76399e3634e00.tar.bz2
pugl-b30d8f984cd2744d06044c28b6a76399e3634e00.zip
Add malloc attributes to allocating functions
These inform the compiler that the returned value doesn't alias with anything. Also somewhat handy as pseudo-documentation.
Diffstat (limited to 'include')
-rw-r--r--include/pugl/pugl.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/include/pugl/pugl.h b/include/pugl/pugl.h
index 431efab..b928c9e 100644
--- a/include/pugl/pugl.h
+++ b/include/pugl/pugl.h
@@ -35,14 +35,20 @@
#if defined(__GNUC__)
# define PUGL_CONST_FUNC __attribute__((const))
+# define PUGL_MALLOC_FUNC __attribute__((malloc))
#else
# define PUGL_CONST_FUNC
+# define PUGL_MALLOC_FUNC
#endif
#define PUGL_CONST_API \
PUGL_API \
PUGL_CONST_FUNC
+#define PUGL_MALLOC_API \
+ PUGL_API \
+ PUGL_MALLOC_FUNC
+
#ifdef __cplusplus
# define PUGL_BEGIN_DECLS extern "C" {
# define PUGL_END_DECLS }
@@ -703,7 +709,7 @@ typedef uint32_t PuglWorldFlags;
@param flags Flags to control world features.
@return A new world, which must be later freed with puglFreeWorld().
*/
-PUGL_API
+PUGL_MALLOC_API
PuglWorld*
puglNewWorld(PuglWorldType type, PuglWorldFlags flags);
@@ -927,7 +933,7 @@ typedef PuglStatus (*PuglEventFunc)(PuglView* view, const PuglEvent* event);
It must first be configured, then the system view can be created with
puglRealize().
*/
-PUGL_API
+PUGL_MALLOC_API
PuglView*
puglNewView(PuglWorld* world);