From cd03c7c85997b24070ee20c5995cefac47447e40 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Mon, 2 Apr 2012 09:06:11 -0700 Subject: [PATCH] check-structs: Disallow uint_t because ovs_be should always be used. The header files that check-structs checks should only contain big-endian data, never native-endian data, so disallow uint_t entirely. (We had a couple of mistakes in this area until recently.) uint8_t is an obvious exception. Reported-by: Simon Horman Reviewed-by: Simon Horman Signed-off-by: Ben Pfaff --- 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 731a4e29..e50e3101 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 a926a0fb..4163c30d 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 -- 2.30.2