#define __must_check
#endif
-#define uninitialized_var(x) x = x
+/*
+ * Mark unused variables passed to ops functions as unused, to silence gcc
+ */
+#define fio_unused __attribute__((__unused__))
+#define fio_init __attribute__((constructor))
+#define fio_exit __attribute__((destructor))
-#ifndef __weak
-#ifndef __CYGWIN__
-#define __weak __attribute__((weak))
-#else
-#define __weak
-#endif
-#endif
+#define fio_unlikely(x) __builtin_expect(!!(x), 0)
#endif