diff options
author | Zack Weinberg <zackw@panix.com> | 2019-03-09 21:18:56 -0500 |
---|---|---|
committer | Zack Weinberg <zackw@panix.com> | 2020-01-08 12:56:33 -0500 |
commit | 795eb42e060039b6d624b7e613d8c334ac70580c (patch) | |
tree | 988877a2a4a22a6bfc9604f8688a868e34cbfca9 | |
parent | d5ebebf969165c51e6a9fcff3a21b6591269eaea (diff) | |
download | glibc-795eb42e060039b6d624b7e613d8c334ac70580c.zip glibc-795eb42e060039b6d624b7e613d8c334ac70580c.tar.gz glibc-795eb42e060039b6d624b7e613d8c334ac70580c.tar.bz2 |
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.
-rw-r--r-- | stdlib/inttypes.h | 15 | ||||
-rw-r--r-- | 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 <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 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 { |