From 2438825d7791a7657bb7fca9c57ee0633a05c635 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Sat, 12 Feb 2011 07:49:28 -0600 Subject: [PATCH] [devel] Changed empty parameter to PNG_BLANK in PNG_EXPORTA definition to accommodate the old VisualC++ preprocessor. Defined PNG_ALLOCATED to empty for MSC_VER < 1300. --- ANNOUNCE | 7 +++++-- CHANGES | 5 ++++- png.h | 39 +++++++++++++++++++++------------------ pngconf.h | 22 ++++++++++++++++------ 4 files changed, 46 insertions(+), 27 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 814a8d01e..5dcea7a16 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.5.2beta01 - February 6, 2011 +Libpng 1.5.2beta01 - February 12, 2011 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -26,10 +26,13 @@ Other information: Changes since the last public release (1.5.1): -Version 1.5.2beta01 [February 6, 2011] +Version 1.5.2beta01 [February 12, 2011] More -Wshadow fixes for older gcc compilers. Older gcc versions apparently check formal parameters names in function declarations (as well as definitions) to see if they match a name in the global namespace. + Changed empty parameter to PNG_BLANK in PNG_EXPORTA definition to + accommodate the old VisualC++ preprocessor. + Defined PNG_ALLOCATED to empty for MSC_VER < 1300. Send comments/corrections/commendations to png-mng-implement at lists.sf.net: (subscription required; visit diff --git a/CHANGES b/CHANGES index 1edd94a32..c132bbe8c 100644 --- a/CHANGES +++ b/CHANGES @@ -3242,10 +3242,13 @@ Version 1.5.1rc02 [January 31, 2011] Version 1.5.1 [February 3, 2011] No changes. -Version 1.5.2beta01 [February 6, 2011] +Version 1.5.2beta01 [February 12, 2011] More -Wshadow fixes for older gcc compilers. Older gcc versions apparently check formal parameters names in function declarations (as well as definitions) to see if they match a name in the global namespace. + Changed empty parameter to PNG_BLANK in PNG_EXPORTA definition to + accommodate the old VisualC++ preprocessor. + Defined PNG_ALLOCATED to empty for MSC_VER < 1300. Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/png.h b/png.h index 48e6945e1..f5346aac3 100644 --- a/png.h +++ b/png.h @@ -1,7 +1,7 @@ /* png.h - header file for PNG reference library * - * libpng version 1.5.2beta01 - February 4, 2011 + * libpng version 1.5.2beta01 - February 12, 2011 * Copyright (c) 1998-2011 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.) @@ -11,7 +11,7 @@ * Authors and maintainers: * libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat * libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger - * libpng versions 0.97, January 1998, through 1.5.2beta01 - February 4, 2011: Glenn + * libpng versions 0.97, January 1998, through 1.5.2beta01 - February 12, 2011: Glenn * See also "Contributing Authors", below. * * Note about libpng version numbers: @@ -179,7 +179,7 @@ * * This code is released under the libpng license. * - * libpng versions 1.2.6, August 15, 2004, through 1.5.2beta01, February 4, 2011, are + * libpng versions 1.2.6, August 15, 2004, through 1.5.2beta01, February 12, 2011, are * Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are * distributed according to the same disclaimer and license as libpng-1.2.5 * with the following individual added to the list of Contributing Authors: @@ -291,7 +291,7 @@ * Y2K compliance in libpng: * ========================= * - * February 4, 2011 + * February 12, 2011 * * Since the PNG Development group is an ad-hoc body, we can't make * an official declaration. @@ -355,7 +355,7 @@ /* Version information for png.h - this should match the version in png.c */ #define PNG_LIBPNG_VER_STRING "1.5.2beta01" #define PNG_HEADER_VERSION_STRING \ - " libpng version 1.5.2beta01 - February 4, 2011\n" + " libpng version 1.5.2beta01 - February 12, 2011\n" #define PNG_LIBPNG_VER_SONUM 15 #define PNG_LIBPNG_VER_DLLNUM 15 @@ -420,6 +420,7 @@ #endif /* Machine specific configuration. */ +# define PNG_BLANK # include "pngconf.h" #endif @@ -797,35 +798,37 @@ typedef struct png_struct_def png_struct; typedef PNG_CONST png_struct FAR * png_const_structp; typedef png_struct FAR * png_structp; -typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp), ); -typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, png_size_t), ); -typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp), ); +typedef PNG_CALLBACK(void, *png_error_ptr, (png_structp, png_const_charp), + PNG_BLANK); +typedef PNG_CALLBACK(void, *png_rw_ptr, (png_structp, png_bytep, png_size_t), + PNG_BLANK); +typedef PNG_CALLBACK(void, *png_flush_ptr, (png_structp), PNG_BLANK); typedef PNG_CALLBACK(void, *png_read_status_ptr, (png_structp, png_uint_32, - int), ); + int), PNG_BLANK); typedef PNG_CALLBACK(void, *png_write_status_ptr, (png_structp, png_uint_32, - int), ); + int), PNG_BLANK); #ifdef PNG_PROGRESSIVE_READ_SUPPORTED typedef PNG_CALLBACK(void, *png_progressive_info_ptr, - (png_structp, png_infop), ); + (png_structp, png_infop), PNG_BLANK); typedef PNG_CALLBACK(void, *png_progressive_end_ptr, - (png_structp, png_infop), ); + (png_structp, png_infop), PNG_BLANK); typedef PNG_CALLBACK(void, *png_progressive_row_ptr, - (png_structp, png_bytep, png_uint_32, int), ); + (png_structp, png_bytep, png_uint_32, int), PNG_BLANK); #endif #if defined(PNG_READ_USER_TRANSFORM_SUPPORTED) || \ defined(PNG_WRITE_USER_TRANSFORM_SUPPORTED) typedef PNG_CALLBACK(void, *png_user_transform_ptr, - (png_structp, png_row_infop, png_bytep), ); + (png_structp, png_row_infop, png_bytep), PNG_BLANK); #endif #ifdef PNG_USER_CHUNKS_SUPPORTED typedef PNG_CALLBACK(int, *png_user_chunk_ptr, (png_structp, - png_unknown_chunkp), ); + png_unknown_chunkp), PNG_BLANK); #endif #ifdef PNG_UNKNOWN_CHUNKS_SUPPORTED -typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp), ); +typedef PNG_CALLBACK(void, *png_unknown_chunk_ptr, (png_structp), PNG_BLANK); #endif #ifdef PNG_SETJMP_SUPPORTED @@ -882,8 +885,8 @@ typedef PNG_FUNCTION(void, (PNGCAPI *png_longjmp_ptr), PNGARG((jmp_buf, int)), * following. */ typedef PNG_CALLBACK(png_voidp, *png_malloc_ptr, (png_structp, - png_alloc_size_t), ); -typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp), ); + png_alloc_size_t), PNG_BLANK); +typedef PNG_CALLBACK(void, *png_free_ptr, (png_structp, png_voidp), PNG_BLANK); typedef png_struct FAR * FAR * png_structpp; diff --git a/pngconf.h b/pngconf.h index 3119beaa6..074650ce3 100644 --- a/pngconf.h +++ b/pngconf.h @@ -287,7 +287,7 @@ * PNG_EXPORT function for every compiler. */ #ifndef PNG_FUNCTION -# if defined(__GNUC__) +# ifdef __GNUC__ # define PNG_FUNCTION(type, name, args, attributes)\ attributes type name args # else /* !GNUC */ @@ -310,13 +310,19 @@ * scripts directory. */ #ifndef PNG_EXPORTA +#if defined(_MSC_VER) && (_MSC_VER < 1300) +# define PNG_EXPORTA(ordinal, type, name, args, attributes)\ + extern PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args),\ + PNG_BLANK) +#else # define PNG_EXPORTA(ordinal, type, name, args, attributes)\ extern PNG_FUNCTION(PNG_EXPORT_TYPE(type),(PNGAPI name),PNGARG(args),\ attributes) #endif +#endif #define PNG_EXPORT(ordinal, type, name, args)\ - PNG_EXPORTA(ordinal, type, name, args, ) + PNG_EXPORTA(ordinal, type, name, args, PNG_BLANK) /* Use PNG_REMOVED to comment out a removed interface. */ #ifndef PNG_REMOVED @@ -347,7 +353,7 @@ * functions in png.h will generate compiler warnings. Added at libpng * version 1.2.41. */ -# if defined(__GNUC__) +# ifdef __GNUC__ # ifndef PNG_USE_RESULT # define PNG_USE_RESULT __attribute__((__warn_unused_result__)) # endif @@ -385,16 +391,20 @@ # endif /* __GNUC__ */ # ifdef _MSC_VER /* may need to check value */ # ifndef PNG_USE_RESULT -# define PNG_USE_RESULT /*not supported*/ +# define PNG_USE_RESULT /* not supported */ # endif # ifndef PNG_NORETURN # define PNG_NORETURN __declspec(noreturn) # endif # ifndef PNG_PTR_NORETURN -# define PNG_PTR_NORETURN /*not supported*/ +# define PNG_PTR_NORETURN /* not supported */ # endif # ifndef PNG_ALLOCATED -# define PNG_ALLOCATED __declspec(restrict) +# if (_MSC_VER < 1300) +# define PNG_ALLOCATED /* not supported */ +# else +# define PNG_ALLOCATED __declspec(restrict) +# endif # endif /* This specifically protects structure members that should only be