Page MenuHomeFreeBSD

D39031.diff
No OneTemporary

D39031.diff

diff --git a/sys/sys/types.h b/sys/sys/types.h
--- a/sys/sys/types.h
+++ b/sys/sys/types.h
@@ -347,6 +347,18 @@
((dev_t)(_Minor & 0xff00) << 24) | (_Minor & 0xffff00ff));
}
+#if (defined(__clang__) || (defined(__GNUC__) && __GNUC__ >= 13))
+#define __enum_uint8_decl(name) enum enum_ ## name ## _uint8 : uint8_t
+#define __enum_uint8(name) enum enum_ ## name ## _uint8
+#else
+/*
+ * Note: there is no real size checking here, but the code below can be
+ * removed once we require GCC 13.
+ */
+#define __enum_uint8_decl(name) enum __attribute__((packed)) enum_ ## name ## _uint8
+#define __enum_uint8(name) enum __attribute__((packed)) enum_ ## name ## _uint8
+#endif
+
/*
* These declarations belong elsewhere, but are repeated here and in
* <stdio.h> to give broken programs a better chance of working with

File Metadata

Mime Type
text/plain
Expires
Thu, Jul 16, 9:53 PM (14 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35149972
Default Alt Text
D39031.diff (825 B)

Event Timeline