From cfc517f36b3263bb583751f4cee0e58eeff98c5f Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Mon, 22 Dec 2014 20:52:40 +0200 Subject: Add compilation option to disable struct packing. Update issue 136 Status: FixedInGit --- pb.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'pb.h') diff --git a/pb.h b/pb.h index 2582e250..b8a957ae 100644 --- a/pb.h +++ b/pb.h @@ -17,6 +17,10 @@ * stores the most-significant byte first. */ /* #define __BIG_ENDIAN__ 1 */ +/* Define this if your CPU / compiler combination does not support + * unaligned memory access to packed structures. */ +/* #define PB_NO_PACKED_STRUCTS 1 */ + /* Increase the number of required fields that are tracked. * A compiler warning will tell if you need this. */ /* #define PB_MAX_REQUIRED_FIELDS 256 */ @@ -75,7 +79,12 @@ /* Macro for defining packed structures (compiler dependent). * This just reduces memory requirements, but is not required. */ -#if defined(__GNUC__) || defined(__clang__) +#if defined(PB_NO_PACKED_STRUCTS) + /* Disable struct packing */ +# define PB_PACKED_STRUCT_START +# define PB_PACKED_STRUCT_END +# define pb_packed +#elif defined(__GNUC__) || defined(__clang__) /* For GCC and clang */ # define PB_PACKED_STRUCT_START # define PB_PACKED_STRUCT_END -- cgit 1.2.3-korg