Declare warn_unused_result only on GCC >= 3.4.0.

Thanks to cea.max.simoes for bug report & fix.

Update issue 25
Status: FixedInGit
This commit is contained in:
Petteri Aimonen
2012-08-09 16:15:23 +03:00
parent 1aa61f108a
commit 8d5086f052
2 changed files with 10 additions and 10 deletions

View File

@@ -3,12 +3,12 @@
* 2011 Petteri Aimonen <jpa@kapsi.fi> * 2011 Petteri Aimonen <jpa@kapsi.fi>
*/ */
/* The warn_unused_result attribute appeared first in gcc-3.4.0 */
#ifdef __GNUC__ #if !defined(__GNUC__) || ( __GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
/* Verify that we remember to check all return values for proper error propagation */ #define checkreturn
#define checkreturn __attribute__((warn_unused_result))
#else #else
#define checkreturn /* Verify that we remember to check all return values for proper error propagation */
#define checkreturn __attribute__((warn_unused_result))
#endif #endif
#include "pb.h" #include "pb.h"

View File

@@ -8,14 +8,14 @@
#include "pb_encode.h" #include "pb_encode.h"
#include <string.h> #include <string.h>
#ifdef __GNUC__ /* The warn_unused_result attribute appeared first in gcc-3.4.0 */
/* Verify that we remember to check all return values for proper error propagation */ #if !defined(__GNUC__) || ( __GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 4)
#define checkreturn __attribute__((warn_unused_result)) #define checkreturn
#else #else
#define checkreturn /* Verify that we remember to check all return values for proper error propagation */
#define checkreturn __attribute__((warn_unused_result))
#endif #endif
typedef bool (*pb_encoder_t)(pb_ostream_t *stream, const pb_field_t *field, const void *src) checkreturn; typedef bool (*pb_encoder_t)(pb_ostream_t *stream, const pb_field_t *field, const void *src) checkreturn;
/* --- Function pointers to field encoders --- /* --- Function pointers to field encoders ---