public inbox for glibc-cvs@sourceware.org help / color / mirror / Atom feed
From: Zack Weinberg <zack@sourceware.org> To: glibc-cvs@sourceware.org Subject: [glibc/zack/no-nested-includes] Don’t conditionalize declarations of ldiv_t, lldiv_t, __gwchar_t. Date: Tue, 18 Jun 2019 15:34:00 -0000 [thread overview] Message-ID: <20190618153318.45171.qmail@sourceware.org> (raw) [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #1: Type: text/plain; charset="us-ascii", Size: 2449 bytes --] https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7c43c50e574ce861b619205883360bfd21b09ede commit 7c43c50e574ce861b619205883360bfd21b09ede Author: Zack Weinberg <zackw@panix.com> 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 ddcb171..c5fb120 100644 --- a/stdlib/inttypes.h +++ b/stdlib/inttypes.h @@ -27,17 +27,14 @@ #include <stdint.h> /* 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 <stddef.h> +#else +# define __need_wchar_t +# include <stddef.h> 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 a9fd989..34996e3 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 {
next reply other threads:[~2019-06-18 15:33 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-18 15:34 Zack Weinberg [this message] -- strict thread matches above, loose matches on Subject: below -- 2020-01-08 19:19 Zack Weinberg 2019-06-26 15:49 Zack Weinberg 2019-05-26 16:36 Zack Weinberg
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190618153318.45171.qmail@sourceware.org \ --to=zack@sourceware.org \ --cc=glibc-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).