diff --git a/ANNOUNCE b/ANNOUNCE index 3de0a2ac..eee63f8e 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -141,6 +141,7 @@ version 1.2.41beta15 [November 8, 2009] version 1.2.41beta16 [November 9, 2009] Removed three direct references to read_info_ptr members in pngtest.c that were detected by the new PNG_DEPSTRUCT macro. + Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined. Send comments/corrections/commendations to png-mng-implement at lists.sf.net diff --git a/CHANGES b/CHANGES index 6e942a30..d2e23133 100644 --- a/CHANGES +++ b/CHANGES @@ -2572,6 +2572,7 @@ version 1.2.41beta15 [November 8, 2009] version 1.2.41beta16 [November 9, 2009] Removed three direct references to read_info_ptr members in pngtest.c that were detected by the new PNG_DEPSTRUCT macro. + Only #define PNG_DEPSTRUCT, etc. in pngconf.h if not already defined. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngconf.h b/pngconf.h index 3691b78f..a627d9c4 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1528,17 +1528,27 @@ typedef z_stream FAR * png_zstreamp; * version 1.2.41. */ #ifdef __GNUC__ -# define PNG_DEPRECATED __attribute__((__deprecated__)) -# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) -# define PNG_NORETURN __attribute__((__noreturn__)) -# define PNG_ALLOCATED __attribute__((__malloc__)) +# ifndef PNG_DEPRECATED +# define PNG_DEPRECATED __attribute__((__deprecated__)) +# endif +# ifndef PNG_USE_RESULT +# define PNG_USE_RESULT __attribute__((__warn_unused_result__)) +# endif +# ifndef PNG_NORETURN +# define PNG_NORETURN __attribute__((__noreturn__)) +# endif +# ifndef PNG_ALLOCATED +# define PNG_ALLOCATED __attribute__((__malloc__)) +# endif # ifndef PNG_CONFIGURE_LIBPNG - /* This specifically protects structure members that should only be - * accessed from within the library, therefore should be empty during - * a library build. - */ -# define PNG_DEPSTRUCT __attribute__((__deprecated__)) + /* This specifically protects structure members that should only be + * accessed from within the library, therefore should be empty during + * a library build. + */ +# ifndef PNG_DEPSTRUCT +# define PNG_DEPSTRUCT __attribute__((__deprecated__)) +# endif # endif #endif