diff --git a/src/common/util.h b/src/common/util.h index c59c79c30e..032842d8dc 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -43,18 +43,6 @@ #include "lib/encoding/cstring.h" #include "lib/fs/winlib.h" -/** Macro: yield a pointer to an enclosing structure given a pointer to - * a substructure at offset off. Example: - *
- * struct base { ... };
- * struct subtype { int x; struct base b; } x;
- * struct base *bp = &x.base;
- * struct *sp = SUBTYPE_P(bp, struct subtype, b);
- *
- */
-#define SUBTYPE_P(p, subtype, basemember) \
- ((void*) ( ((char*)(p)) - offsetof(subtype, basemember) ))
-
/* Math functions */
/* String manipulation */
diff --git a/src/lib/cc/compat_compiler.h b/src/lib/cc/compat_compiler.h
index 67d945cfaf..c631a7e821 100644
--- a/src/lib/cc/compat_compiler.h
+++ b/src/lib/cc/compat_compiler.h
@@ -253,6 +253,18 @@
*/
#define STRUCT_VAR_P(st, off) ((void*) ( ((char*)(st)) + (off) ) )
+/** Macro: yield a pointer to an enclosing structure given a pointer to
+ * a substructure at offset off. Example:
+ *
+ * struct base { ... };
+ * struct subtype { int x; struct base b; } x;
+ * struct base *bp = &x.base;
+ * struct *sp = SUBTYPE_P(bp, struct subtype, b);
+ *
+ */
+#define SUBTYPE_P(p, subtype, basemember) \
+ ((void*) ( ((char*)(p)) - offsetof(subtype, basemember) ))
+
/** Macro: Yields the number of elements in array x. */
#define ARRAY_LENGTH(x) ((sizeof(x)) / sizeof(x[0]))