Rename UNUSED() and STATIC_ASSERT() macros with PB_ prefix.
This avoids possible namespace conflicts with other macros.
This commit is contained in:
@@ -908,7 +908,7 @@ def generate_source(headername, enums, messages, extensions, options):
|
|||||||
yield ' * numbers or field sizes that are larger than what can fit in 8 or 16 bit\n'
|
yield ' * numbers or field sizes that are larger than what can fit in 8 or 16 bit\n'
|
||||||
yield ' * field descriptors.\n'
|
yield ' * field descriptors.\n'
|
||||||
yield ' */\n'
|
yield ' */\n'
|
||||||
yield 'STATIC_ASSERT((%s), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_%s)\n'%(assertion,msgs)
|
yield 'PB_STATIC_ASSERT((%s), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_%s)\n'%(assertion,msgs)
|
||||||
yield '#endif\n\n'
|
yield '#endif\n\n'
|
||||||
|
|
||||||
if worst < 65536:
|
if worst < 65536:
|
||||||
@@ -925,7 +925,7 @@ def generate_source(headername, enums, messages, extensions, options):
|
|||||||
yield ' * numbers or field sizes that are larger than what can fit in the default\n'
|
yield ' * numbers or field sizes that are larger than what can fit in the default\n'
|
||||||
yield ' * 8 bit descriptors.\n'
|
yield ' * 8 bit descriptors.\n'
|
||||||
yield ' */\n'
|
yield ' */\n'
|
||||||
yield 'STATIC_ASSERT((%s), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_%s)\n'%(assertion,msgs)
|
yield 'PB_STATIC_ASSERT((%s), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_%s)\n'%(assertion,msgs)
|
||||||
yield '#endif\n\n'
|
yield '#endif\n\n'
|
||||||
|
|
||||||
# Add check for sizeof(double)
|
# Add check for sizeof(double)
|
||||||
@@ -941,7 +941,7 @@ def generate_source(headername, enums, messages, extensions, options):
|
|||||||
yield ' * These are not directly supported by nanopb, but see example_avr_double.\n'
|
yield ' * These are not directly supported by nanopb, but see example_avr_double.\n'
|
||||||
yield ' * To get rid of this error, remove any double fields from your .proto.\n'
|
yield ' * To get rid of this error, remove any double fields from your .proto.\n'
|
||||||
yield ' */\n'
|
yield ' */\n'
|
||||||
yield 'STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)\n'
|
yield 'PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)\n'
|
||||||
|
|
||||||
yield '\n'
|
yield '\n'
|
||||||
|
|
||||||
|
|||||||
40
pb.h
40
pb.h
@@ -98,23 +98,27 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
|
/* Handly macro for suppressing unreferenced-parameter compiler warnings. */
|
||||||
#ifndef UNUSED
|
#ifndef PB_UNUSED
|
||||||
#define UNUSED(x) (void)(x)
|
#define PB_UNUSED(x) (void)(x)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Compile-time assertion, used for checking compatible compilation options.
|
/* Compile-time assertion, used for checking compatible compilation options.
|
||||||
* If this does not work properly on your compiler, use #define STATIC_ASSERT
|
* If this does not work properly on your compiler, use
|
||||||
* to disable it.
|
* #define PB_NO_STATIC_ASSERT to disable it.
|
||||||
*
|
*
|
||||||
* But before doing that, check carefully the error message / place where it
|
* But before doing that, check carefully the error message / place where it
|
||||||
* comes from to see if the error has a real cause. Unfortunately the error
|
* comes from to see if the error has a real cause. Unfortunately the error
|
||||||
* message is not always very clear to read, but you can see the reason better
|
* message is not always very clear to read, but you can see the reason better
|
||||||
* in the place where the STATIC_ASSERT macro was called.
|
* in the place where the PB_STATIC_ASSERT macro was called.
|
||||||
*/
|
*/
|
||||||
#ifndef STATIC_ASSERT
|
#ifndef PB_NO_STATIC_ASSERT
|
||||||
#define STATIC_ASSERT(COND,MSG) typedef char STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
|
#ifndef PB_STATIC_ASSERT
|
||||||
#define STATIC_ASSERT_MSG(MSG, LINE, COUNTER) STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
|
#define PB_STATIC_ASSERT(COND,MSG) typedef char PB_STATIC_ASSERT_MSG(MSG, __LINE__, __COUNTER__)[(COND)?1:-1];
|
||||||
#define STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) static_assertion_##MSG##LINE##COUNTER
|
#define PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER) PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
|
||||||
|
#define PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER) pb_static_assertion_##MSG##LINE##COUNTER
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define PB_STATIC_ASSERT(COND,MSG)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Number of required fields to keep track of. */
|
/* Number of required fields to keep track of. */
|
||||||
@@ -231,14 +235,14 @@ PB_PACKED_STRUCT_END
|
|||||||
* If you get errors here, it probably means that your stdint.h is not
|
* If you get errors here, it probably means that your stdint.h is not
|
||||||
* correct for your platform.
|
* correct for your platform.
|
||||||
*/
|
*/
|
||||||
STATIC_ASSERT(sizeof(int8_t) == 1, INT8_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(int8_t) == 1, INT8_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(uint8_t) == 1, UINT8_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(uint8_t) == 1, UINT8_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(int16_t) == 2, INT16_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(int16_t) == 2, INT16_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(uint16_t) == 2, UINT16_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(uint16_t) == 2, UINT16_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(int32_t) == 4, INT32_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(int32_t) == 4, INT32_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(uint32_t) == 4, UINT32_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(uint32_t) == 4, UINT32_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(int64_t) == 8, INT64_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(int64_t) == 8, INT64_T_WRONG_SIZE)
|
||||||
STATIC_ASSERT(sizeof(uint64_t) == 8, UINT64_T_WRONG_SIZE)
|
PB_STATIC_ASSERT(sizeof(uint64_t) == 8, UINT64_T_WRONG_SIZE)
|
||||||
|
|
||||||
/* This structure is used for 'bytes' arrays.
|
/* This structure is used for 'bytes' arrays.
|
||||||
* It has the number of bytes in the beginning, and after that an array.
|
* It has the number of bytes in the beginning, and after that an array.
|
||||||
@@ -505,7 +509,7 @@ struct _pb_extension_t {
|
|||||||
#ifdef PB_NO_ERRMSG
|
#ifdef PB_NO_ERRMSG
|
||||||
#define PB_RETURN_ERROR(stream,msg) \
|
#define PB_RETURN_ERROR(stream,msg) \
|
||||||
do {\
|
do {\
|
||||||
UNUSED(stream); \
|
PB_UNUSED(stream); \
|
||||||
return false; \
|
return false; \
|
||||||
} while(0)
|
} while(0)
|
||||||
#define PB_GET_ERROR(stream) "(errmsg disabled)"
|
#define PB_GET_ERROR(stream) "(errmsg disabled)"
|
||||||
|
|||||||
@@ -444,8 +444,8 @@ static void initialize_pointer_field(void *pItem, pb_field_iter_t *iter)
|
|||||||
static bool checkreturn decode_pointer_field(pb_istream_t *stream, pb_wire_type_t wire_type, pb_field_iter_t *iter)
|
static bool checkreturn decode_pointer_field(pb_istream_t *stream, pb_wire_type_t wire_type, pb_field_iter_t *iter)
|
||||||
{
|
{
|
||||||
#ifndef PB_ENABLE_MALLOC
|
#ifndef PB_ENABLE_MALLOC
|
||||||
UNUSED(wire_type);
|
PB_UNUSED(wire_type);
|
||||||
UNUSED(iter);
|
PB_UNUSED(iter);
|
||||||
PB_RETURN_ERROR(stream, "no malloc support");
|
PB_RETURN_ERROR(stream, "no malloc support");
|
||||||
#else
|
#else
|
||||||
pb_type_t type;
|
pb_type_t type;
|
||||||
@@ -1032,13 +1032,13 @@ static bool checkreturn pb_dec_svarint(pb_istream_t *stream, const pb_field_t *f
|
|||||||
|
|
||||||
static bool checkreturn pb_dec_fixed32(pb_istream_t *stream, const pb_field_t *field, void *dest)
|
static bool checkreturn pb_dec_fixed32(pb_istream_t *stream, const pb_field_t *field, void *dest)
|
||||||
{
|
{
|
||||||
UNUSED(field);
|
PB_UNUSED(field);
|
||||||
return pb_decode_fixed32(stream, dest);
|
return pb_decode_fixed32(stream, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool checkreturn pb_dec_fixed64(pb_istream_t *stream, const pb_field_t *field, void *dest)
|
static bool checkreturn pb_dec_fixed64(pb_istream_t *stream, const pb_field_t *field, void *dest)
|
||||||
{
|
{
|
||||||
UNUSED(field);
|
PB_UNUSED(field);
|
||||||
return pb_decode_fixed64(stream, dest);
|
return pb_decode_fixed64(stream, dest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -311,7 +311,7 @@ static bool checkreturn encode_extension_field(pb_ostream_t *stream,
|
|||||||
const pb_field_t *field, const void *pData)
|
const pb_field_t *field, const void *pData)
|
||||||
{
|
{
|
||||||
const pb_extension_t *extension = *(const pb_extension_t* const *)pData;
|
const pb_extension_t *extension = *(const pb_extension_t* const *)pData;
|
||||||
UNUSED(field);
|
PB_UNUSED(field);
|
||||||
|
|
||||||
while (extension)
|
while (extension)
|
||||||
{
|
{
|
||||||
@@ -599,13 +599,13 @@ static bool checkreturn pb_enc_svarint(pb_ostream_t *stream, const pb_field_t *f
|
|||||||
|
|
||||||
static bool checkreturn pb_enc_fixed64(pb_ostream_t *stream, const pb_field_t *field, const void *src)
|
static bool checkreturn pb_enc_fixed64(pb_ostream_t *stream, const pb_field_t *field, const void *src)
|
||||||
{
|
{
|
||||||
UNUSED(field);
|
PB_UNUSED(field);
|
||||||
return pb_encode_fixed64(stream, src);
|
return pb_encode_fixed64(stream, src);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool checkreturn pb_enc_fixed32(pb_ostream_t *stream, const pb_field_t *field, const void *src)
|
static bool checkreturn pb_enc_fixed32(pb_ostream_t *stream, const pb_field_t *field, const void *src)
|
||||||
{
|
{
|
||||||
UNUSED(field);
|
PB_UNUSED(field);
|
||||||
return pb_encode_fixed32(stream, src);
|
return pb_encode_fixed32(stream, src);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -159,17 +159,17 @@ extern const pb_field_t AllTypes_fields[53];
|
|||||||
|
|
||||||
/* Check that field information fits in pb_field_t */
|
/* Check that field information fits in pb_field_t */
|
||||||
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
|
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
|
||||||
STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 256 && pb_membersize(AllTypes, rep_submsg[0]) < 256 && pb_membersize(AllTypes, opt_submsg) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_SubMessage_AllTypes)
|
PB_STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 256 && pb_membersize(AllTypes, rep_submsg[0]) < 256 && pb_membersize(AllTypes, opt_submsg) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_SubMessage_AllTypes)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(PB_FIELD_32BIT)
|
#if !defined(PB_FIELD_32BIT)
|
||||||
STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 65536 && pb_membersize(AllTypes, rep_submsg[0]) < 65536 && pb_membersize(AllTypes, opt_submsg) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_SubMessage_AllTypes)
|
PB_STATIC_ASSERT((pb_membersize(AllTypes, req_submsg) < 65536 && pb_membersize(AllTypes, rep_submsg[0]) < 65536 && pb_membersize(AllTypes, opt_submsg) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_SubMessage_AllTypes)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* On some platforms (such as AVR), double is really float.
|
/* On some platforms (such as AVR), double is really float.
|
||||||
* These are not directly supported by nanopb, but see example_avr_double.
|
* These are not directly supported by nanopb, but see example_avr_double.
|
||||||
*/
|
*/
|
||||||
STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
PB_STATIC_ASSERT(sizeof(double) == 8, DOUBLE_MUST_BE_8_BYTES)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} /* extern "C" */
|
} /* extern "C" */
|
||||||
|
|||||||
Reference in New Issue
Block a user