summaryrefslogtreecommitdiff
path: root/kern/macros.h
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2017-02-04 17:45:17 +0100
committerRichard Braun <rbraun@sceen.net>2017-02-04 17:45:17 +0100
commitfd035c0a3d361e513fe7916b67e14ff702983153 (patch)
tree81d24cf88a68144bfd6113a8e148a0dd9528affe /kern/macros.h
parentd479903845975a480be4201aa892e4434c4f6c54 (diff)
Clean up compilation
Instead of mixing standard headers and internal redefinitions of standard types, completely rely on the compiler for what is guaranteed for a free standing environment. This results in the removal of kern/stddef.h and kern/stdint.h. The kern/types.h header is reintroduced for the different (and saner) purpose of defining types not specified in standard C, namely ssize_t for now.
Diffstat (limited to 'kern/macros.h')
-rw-r--r--kern/macros.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/kern/macros.h b/kern/macros.h
index 068bb035..a5b7b032 100644
--- a/kern/macros.h
+++ b/kern/macros.h
@@ -22,7 +22,7 @@
#define _KERN_MACROS_H
#ifndef __ASSEMBLER__
-#include <kern/stddef.h>
+#include <stddef.h>
#endif /* __ASSEMBLER__ */
#define MACRO_BEGIN ({
@@ -64,7 +64,11 @@
#define __noreturn __attribute__((noreturn))
#define __aligned(x) __attribute__((aligned(x)))
+
+#ifndef __always_inline
#define __always_inline inline __attribute__((always_inline))
+#endif /* __attribute__ */
+
#define __section(x) __attribute__((section(x)))
#define __packed __attribute__((packed))
#define __alias(x) __attribute__((alias(x)))