From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 115624 invoked by alias); 8 Jan 2020 19:19:27 -0000 Mailing-List: contact glibc-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: , Sender: glibc-cvs-owner@sourceware.org List-Subscribe: Received: (qmail 115607 invoked by uid 9014); 8 Jan 2020 19:19:27 -0000 Date: Wed, 08 Jan 2020 19:19:00 -0000 Message-ID: <20200108191927.115606.qmail@sourceware.org> Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Zack Weinberg To: glibc-cvs@sourceware.org Subject: =?utf-8?q?=5Bglibc/zack/no-nested-includes=5D_Don=E2=80=99t_conditionaliz?= =?utf-8?q?e_declarations_of_ldiv=5Ft=2C_lldiv=5Ft=2C_=5F=5Fgwchar=5Ft=2E?= X-Act-Checkin: glibc X-Git-Author: Zack Weinberg X-Git-Refname: refs/heads/zack/no-nested-includes X-Git-Oldrev: d5ebebf969165c51e6a9fcff3a21b6591269eaea X-Git-Newrev: 795eb42e060039b6d624b7e613d8c334ac70580c X-SW-Source: 2020-q1/txt/msg00086.txt https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=795eb42e060039b6d624b7e613d8c334ac70580c commit 795eb42e060039b6d624b7e613d8c334ac70580c Author: Zack Weinberg Date: Sat Mar 9 21:18:56 2019 -0500 Don’t conditionalize declarations of ldiv_t, lldiv_t, __gwchar_t. The declarations of ldiv_t, lldiv_t, and __gwchar_t are all wrapped in __foo_t_defined conditionals, despite there being only one header in glibc that declares them. I checked codesearch.debian.net and only found one other program that refers to the __foo_t_defined conditionals: u-boot provides its own definition of ldiv_t if __ldiv_t_defined is not defined by stdlib.h. I conclude that the conditionals are not necessary, but the definitions of __ldiv_t_defined and __lldiv_t_defined should be preserved. * stdlib/inttypes.h: Unconditionally define __gwchar_t. Don’t define ____gwchar_t_defined. * stdlib/stdlib.h: Unconditionally define ldiv_t. Condition lldiv_t only on __USE_ISOC99. Diff: --- stdlib/inttypes.h | 15 ++++++--------- stdlib/stdlib.h | 6 ++---- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/stdlib/inttypes.h b/stdlib/inttypes.h index 685dfc1..c5ec307 100644 --- a/stdlib/inttypes.h +++ b/stdlib/inttypes.h @@ -27,17 +27,14 @@ #include /* Get a definition for wchar_t. But we must not define wchar_t itself. */ -#ifndef ____gwchar_t_defined -# ifdef __cplusplus -# define __gwchar_t wchar_t -# elif defined __WCHAR_TYPE__ +#ifdef __cplusplus +# define __gwchar_t wchar_t +#elif defined __WCHAR_TYPE__ typedef __WCHAR_TYPE__ __gwchar_t; -# else -# define __need_wchar_t -# include +#else +# define __need_wchar_t +# include typedef wchar_t __gwchar_t; -# endif -# define ____gwchar_t_defined 1 #endif # if __WORDSIZE == 64 diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h index e347063..9f1f1b8 100644 --- a/stdlib/stdlib.h +++ b/stdlib/stdlib.h @@ -62,16 +62,14 @@ typedef struct } div_t; /* Returned by `ldiv'. */ -#ifndef __ldiv_t_defined typedef struct { long int quot; /* Quotient. */ long int rem; /* Remainder. */ } ldiv_t; -# define __ldiv_t_defined 1 -#endif +#define __ldiv_t_defined 1 -#if defined __USE_ISOC99 && !defined __lldiv_t_defined +#if defined __USE_ISOC99 /* Returned by `lldiv'. */ __extension__ typedef struct {