[ovs-dev] [PATCH] check-structs: Disallow uint<N>_t because ovs_be<N> should always be used.
Ben Pfaff
blp at nicira.com
Fri Mar 30 09:24:06 PDT 2012
The header files that check-structs checks should only contain big-endian
data, never native-endian data, so disallow uint<N>_t entirely. (We had
a couple of mistakes in this area until recently.)
uint8_t is an obvious exception.
Reported-by: Simon Horman <horms at verge.net.au>
Signed-off-by: Ben Pfaff <blp at nicira.com>
---
build-aux/check-structs | 3 ---
tests/check-structs.at | 12 ++++++------
2 files changed, 6 insertions(+), 9 deletions(-)
diff --git a/build-aux/check-structs b/build-aux/check-structs
index 731a4e2..e50e310 100755
--- a/build-aux/check-structs
+++ b/build-aux/check-structs
@@ -11,9 +11,6 @@ anyWarnings = False
types = {}
types['char'] = {"size": 1, "alignment": 1}
types['uint8_t'] = {"size": 1, "alignment": 1}
-types['uint16_t'] = {"size": 2, "alignment": 2}
-types['uint32_t'] = {"size": 4, "alignment": 4}
-types['uint64_t'] = {"size": 8, "alignment": 8}
types['ovs_be16'] = {"size": 2, "alignment": 2}
types['ovs_be32'] = {"size": 4, "alignment": 4}
types['ovs_be64'] = {"size": 8, "alignment": 8}
diff --git a/tests/check-structs.at b/tests/check-structs.at
index a926a0f..4163c30 100644
--- a/tests/check-structs.at
+++ b/tests/check-structs.at
@@ -11,7 +11,7 @@ m4_define([RUN_STRUCT_CHECKER],
AT_SETUP([check struct tail padding])
RUN_STRUCT_CHECKER(
[struct xyz {
- uint16_t x;
+ ovs_be16 x;
};],
[1], [],
[test.h:3: warning: struct xyz needs 2 bytes of tail padding
@@ -21,8 +21,8 @@ AT_CLEANUP
AT_SETUP([check struct internal alignment])
RUN_STRUCT_CHECKER(
[struct xyzzy {
- uint16_t x;
- uint32_t y;
+ ovs_be16 x;
+ ovs_be32 y;
};],
[1], [],
[test.h:3: warning: struct xyzzy member y is 2 bytes short of 4-byte alignment
@@ -32,7 +32,7 @@ AT_CLEANUP
AT_SETUP([check struct declared size])
RUN_STRUCT_CHECKER(
[struct wibble {
- uint64_t z;
+ ovs_be64 z;
};
OFP_ASSERT(sizeof(struct wibble) == 12);
],
@@ -44,11 +44,11 @@ AT_CLEANUP
AT_SETUP([check wrong struct's declared size])
RUN_STRUCT_CHECKER(
[struct moo {
- uint64_t bar;
+ ovs_be64 bar;
};
OFP_ASSERT(sizeof(struct moo) == 8);
struct wibble {
- uint64_t z;
+ ovs_be64 z;
};
OFP_ASSERT(sizeof(struct moo) == 8);
], [1], [], [test.h:8: warning: checking size of struct moo but struct wibble was most recently defined
--
1.7.2.5
More information about the dev
mailing list