diff options
| author | Joel Klinghed <the_jk@opera.com> | 2015-07-13 13:04:24 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@opera.com> | 2015-07-13 13:04:24 +0200 |
| commit | 1d8af5a018282dc6a93b9ed7c87d9d2f87287b14 (patch) | |
| tree | c47c19f7c27fd1774d1455b088eb207c611d30ed /src/compiler.h | |
| parent | 59709e4cb30f2ff8666522d5b758731ab618adbc (diff) | |
Copy the dependencies from sawmill project
Diffstat (limited to 'src/compiler.h')
| -rw-r--r-- | src/compiler.h | 42 |
1 files changed, 42 insertions, 0 deletions
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 */ |
