From 0c5acfa19e113dddf1ecc12ef66417005277f3c6 Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Thu, 20 Feb 2014 07:11:17 -0600 Subject: [PATCH] [libpng17] Check for __has_extension before using it in pngconf.h, to support older Clang versions (Jeremy Sequoia). --- ANNOUNCE | 6 ++++-- CHANGES | 4 +++- pngconf.h | 10 ++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 959507b32..d6747b78e 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,5 +1,5 @@ -Libpng 1.7.0beta32 - February 17, 2014 +Libpng 1.7.0beta32 - February 20, 2014 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. @@ -533,7 +533,7 @@ Version 1.7.0beta31 [February 6, 2014] and it adds corresponding code to pngimage.c to handle such options by not attempting to test them. -Version 1.7.0beta32 [February 17, 2014] +Version 1.7.0beta32 [February 20, 2014] Moved redefines of png_error(), png_warning(), png_chunk_error(), and png_chunk_warning() from pngpriv.h to png.h to make them visible to libpng-calling applications. @@ -548,6 +548,8 @@ Version 1.7.0beta32 [February 17, 2014] run all the png_handle_*() and depend on them to return if info_ptr == NULL. This improves the performance of png_read_end(png_ptr, NULL) and makes it more robust against future programming errors. + Check for __has_extension before using it in pngconf.h, to + support older Clang versions (Jeremy Sequoia). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 496974ec6..6b060ac89 100644 --- a/CHANGES +++ b/CHANGES @@ -4822,7 +4822,7 @@ Version 1.7.0beta31 [February 6, 2014] and it adds corresponding code to pngimage.c to handle such options by not attempting to test them. -Version 1.7.0beta32 [February 17, 2014] +Version 1.7.0beta32 [February 20, 2014] Moved redefines of png_error(), png_warning(), png_chunk_error(), and png_chunk_warning() from pngpriv.h to png.h to make them visible to libpng-calling applications. @@ -4837,6 +4837,8 @@ Version 1.7.0beta32 [February 17, 2014] run all the png_handle_*() and depend on them to return if info_ptr == NULL. This improves the performance of png_read_end(png_ptr, NULL) and makes it more robust against future programming errors. + Check for __has_extension before using it in pngconf.h, to + support older Clang versions (Jeremy Sequoia). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/pngconf.h b/pngconf.h index 40f5e5b83..f78d2bdaf 100644 --- a/pngconf.h +++ b/pngconf.h @@ -1,7 +1,7 @@ /* pngconf.h - machine configurable file for libpng * - * libpng version 1.7.0beta32 - February 6, 2014 + * libpng version 1.7.0beta32 - February 20, 2014 * * Copyright (c) 1998-2013 Glenn Randers-Pehrson * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger) @@ -375,9 +375,11 @@ # define PNG_DEPRECATED __attribute__((__deprecated__)) # endif # if !defined(PNG_PRIVATE) -# if __has_extension(attribute_unavailable_with_message) -# define PNG_PRIVATE __attribute__((__unavailable__(\ - "This function is not exported by libpng."))) +# ifdef __has_extension +# if __has_extension(attribute_unavailable_with_message) +# define PNG_PRIVATE __attribute__((__unavailable__(\ + "This function is not exported by libpng."))) +# endif # endif # endif # ifndef PNG_RESTRICT