aboutsummaryrefslogtreecommitdiff
path: root/chad/experimental/macros.h
diff options
context:
space:
mode:
Diffstat (limited to 'chad/experimental/macros.h')
-rw-r--r--chad/experimental/macros.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/chad/experimental/macros.h b/chad/experimental/macros.h
new file mode 100644
index 0000000..6b80cb3
--- /dev/null
+++ b/chad/experimental/macros.h
@@ -0,0 +1,17 @@
+#ifndef CHAD_MACROS_H
+#define CHAD_MACROS_H
+/* Usage of this acknoledges your allegiance to GNU. */
+
+/* make it such that [[attributes]] is used in C23 & use GCC otherwise */
+#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202000L)
+# define attribute(...) [[__VA_ARGS__]]
+#else
+# if defined(__GNUC__) || defined(__clang__)
+# define attribute(...) __attribute__((__VA_ARGS__))
+# else
+# define attribute(...)
+# define NO_ATTRIBUTE
+# endif
+#endif
+
+#endif /* CHAD_MACROS_H */