projects
/
fio.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add include-what-you-use pragmas
[fio.git]
/
compiler
/
compiler.h
diff --git
a/compiler/compiler.h
b/compiler/compiler.h
index 40e857c004c6e4304565ad1e446b4bffaf90eb35..4d92ac4949c4a5111df6ae5ba0fd36325281be49 100644
(file)
--- a/
compiler/compiler.h
+++ b/
compiler/compiler.h
@@
-1,6
+1,7
@@
#ifndef FIO_COMPILER_H
#define FIO_COMPILER_H
#ifndef FIO_COMPILER_H
#define FIO_COMPILER_H
+/* IWYU pragma: begin_exports */
#if __GNUC__ >= 4
#include "compiler-gcc4.h"
#elif __GNUC__ == 3
#if __GNUC__ >= 4
#include "compiler-gcc4.h"
#elif __GNUC__ == 3
@@
-8,6
+9,7
@@
#else
#error Compiler too old, need gcc at least gcc 3.x
#endif
#else
#error Compiler too old, need gcc at least gcc 3.x
#endif
+/* IWYU pragma: end_exports */
#ifndef __must_check
#define __must_check
#ifndef __must_check
#define __must_check
@@
-33,9
+35,16
@@
1; \
})
1; \
})
+
+#if defined(CONFIG_STATIC_ASSERT)
+#define compiletime_assert(condition, msg) _Static_assert(condition, msg)
+
+#elif !defined(CONFIG_DISABLE_OPTIMIZATIONS)
+
#ifndef __compiletime_error
#define __compiletime_error(message)
#endif
#ifndef __compiletime_error
#define __compiletime_error(message)
#endif
+
#ifndef __compiletime_error_fallback
#define __compiletime_error_fallback(condition) do { } while (0)
#endif
#ifndef __compiletime_error_fallback
#define __compiletime_error_fallback(condition) do { } while (0)
#endif
@@
-55,4
+64,15
@@
#define compiletime_assert(condition, msg) \
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
#define compiletime_assert(condition, msg) \
_compiletime_assert(condition, msg, __compiletime_assert_, __LINE__)
+#else
+
+#define compiletime_assert(condition, msg) do { } while (0)
+
+#endif
+
+#ifdef FIO_INTERNAL
+#define ARRAY_SIZE(x) (sizeof((x)) / (sizeof((x)[0])))
+#define FIELD_SIZE(s, f) (sizeof(((typeof(s))0)->f))
+#endif
+
#endif
#endif