From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 74294 invoked by alias); 30 Jul 2018 08:52:13 -0000 Mailing-List: contact newlib-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-cvs-owner@sourceware.org Received: (qmail 74172 invoked by uid 10080); 30 Jul 2018 08:52:12 -0000 Date: Mon, 30 Jul 2018 08:52:00 -0000 Message-ID: <20180730085212.74168.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Define a new __alloc_size2 attribute to complement the exiting support. X-Act-Checkin: newlib-cygwin X-Git-Author: pfg X-Git-Refname: refs/heads/master X-Git-Oldrev: 1736bd300339aa54ddf5f179dbb40c4b19079dd7 X-Git-Newrev: 271e856a49731edb88427f4a7aeb388825e366c3 X-SW-Source: 2018-q3/txt/msg00028.txt.bz2 https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=271e856a49731edb88427f4a7aeb388825e366c3 commit 271e856a49731edb88427f4a7aeb388825e366c3 Author: pfg Date: Sun Jan 21 20:27:47 2018 +0000 Define a new __alloc_size2 attribute to complement the exiting support. At least on GCC7 calling __alloc_size(x) twice is not equivalent to calling using the attribute once with two arguments. The later is the documented use in GCC documentation so add a new alloc_size(n, x) alternative to cover for the few places where it is used: basically: calloc(3), reallocarray(3) and mallocarray(9). Submitted by: Mark Millard MFC after: 3 days Reference: http://docs.freebsd.org/cgi/mid.cgi?F227842D-6BE2-4680-82E7-07906AF61CD7 Diff: --- newlib/libc/include/sys/cdefs.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h index db87078..7c2aa3b 100644 --- a/newlib/libc/include/sys/cdefs.h +++ b/newlib/libc/include/sys/cdefs.h @@ -250,8 +250,10 @@ #endif #if __GNUC_PREREQ__(4, 3) || __has_attribute(__alloc_size__) #define __alloc_size(x) __attribute__((__alloc_size__ x)) +#define __alloc_size2(n, x) __attribute__((__alloc_size__(n, x))) #else #define __alloc_size(x) +#define __alloc_size2(n, x) #endif #if __GNUC_PREREQ__(4, 9) || __has_attribute(__alloc_align__) #define __alloc_align(x) __attribute__((__alloc_align__ x))