From 8d5086f052f4282f22d350ac44f6699f3bdf7a06 Mon Sep 17 00:00:00 2001 From: Petteri Aimonen Date: Thu, 9 Aug 2012 16:15:23 +0300 Subject: [PATCH] Declare warn_unused_result only on GCC >= 3.4.0. Thanks to cea.max.simoes for bug report & fix. Update issue 25 Status: FixedInGit --- pb_decode.c | 10 +++++----- pb_encode.c | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pb_decode.c b/pb_decode.c index 6d3a0b6..5ef40ec 100644 --- a/pb_decode.c +++ b/pb_decode.c @@ -3,12 +3,12 @@ * 2011 Petteri Aimonen */ - -#ifdef __GNUC__ -/* Verify that we remember to check all return values for proper error propagation */ -#define checkreturn __attribute__((warn_unused_result)) +/* The warn_unused_result attribute appeared first in gcc-3.4.0 */ +#if !defined(__GNUC__) || ( __GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) + #define checkreturn #else -#define checkreturn + /* Verify that we remember to check all return values for proper error propagation */ + #define checkreturn __attribute__((warn_unused_result)) #endif #include "pb.h" diff --git a/pb_encode.c b/pb_encode.c index 8868bb6..3fc0381 100644 --- a/pb_encode.c +++ b/pb_encode.c @@ -8,14 +8,14 @@ #include "pb_encode.h" #include -#ifdef __GNUC__ -/* Verify that we remember to check all return values for proper error propagation */ -#define checkreturn __attribute__((warn_unused_result)) +/* The warn_unused_result attribute appeared first in gcc-3.4.0 */ +#if !defined(__GNUC__) || ( __GNUC__ < 3) || (__GNUC__ == 3 && __GNUC_MINOR__ < 4) + #define checkreturn #else -#define checkreturn + /* Verify that we remember to check all return values for proper error propagation */ + #define checkreturn __attribute__((warn_unused_result)) #endif - typedef bool (*pb_encoder_t)(pb_ostream_t *stream, const pb_field_t *field, const void *src) checkreturn; /* --- Function pointers to field encoders --- -- 2.16.6