From 1d8af5a018282dc6a93b9ed7c87d9d2f87287b14 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Mon, 13 Jul 2015 13:04:24 +0200 Subject: Copy the dependencies from sawmill project --- src/compiler.h | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 src/compiler.h (limited to 'src/compiler.h') diff --git a/src/compiler.h b/src/compiler.h new file mode 100644 index 0000000..6a5ce4a --- /dev/null +++ b/src/compiler.h @@ -0,0 +1,42 @@ +/** + * \file compiler.h + * Part of common.h, defines macros for hints to the compiler. + */ + +#ifndef COMPILER_H +#define COMPILER_H + +#if HAVE___ATTRIBUTE__ +# define MALLOC __attribute__((malloc)) +# define NONULL __attribute__((nonnull)) +# define NONULL_ARGS(...) __attribute__((nonnull (__VA_ARGS__))) +# define PRINTF(_n,_m) __attribute__((format (printf, (_n), (_m)))) +# define UNUSED __attribute__((unused)) +#else +# warning Less compile time checks as compiler is unsupported +/** + * Mark a function as always returning a new unique pointer or NULL + */ +# define MALLOC +/** + * Mark a function as not taking NULL to any of its pointer parameters + */ +# define NONULL +/** + * Mark a function as not taking NULL to the given list of pointer parameters. + * The list of parameters is 1 based. + */ +# define NONULL_ARGS(...) +/** + * Mark a function as taking printf format style parameter. + * @param _n the 1 based index of the format parameter + * @param _m the 1 based index of the first variable list parameter + */ +# define PRINTF(_n,_m) +/** + * Mark a function paramter as being unused + */ +# define UNUSED +#endif + +#endif /* COMPILER_H */ -- cgit v1.2.3-70-g09d2