[6/7] Include wchar.h and wctype.h unconditionally
Commit Message
As gnulib modules wchar and wctype is imported, we can include wchar.h
and wctype.h unconditionally. This patch is also to remove HAVE_WCHAR_H
check.
gdb:
2014-11-15 Yao Qi <yao@codesourcery.com>
* gdb_wchar.h: Include wchar.h and wctype.h.
[HAVE_ICONV && HAVE_BTOWC]: Don't check HAVE_WCHAR_T and don't
include wchar.h and wctype.h.
Don't check HAVE_WCHAR_H.
---
gdb/gdb_wchar.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Comments
On 11/15/2014 01:20 PM, Yao Qi wrote:
> As gnulib modules wchar and wctype is imported, we can include wchar.h
> and wctype.h unconditionally. This patch is also to remove HAVE_WCHAR_H
> check.
>
> gdb:
>
> 2014-11-15 Yao Qi <yao@codesourcery.com>
>
> * gdb_wchar.h: Include wchar.h and wctype.h.
> [HAVE_ICONV && HAVE_BTOWC]: Don't check HAVE_WCHAR_T and don't
> include wchar.h and wctype.h.
> Don't check HAVE_WCHAR_H.
> ---
> gdb/gdb_wchar.h | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/gdb/gdb_wchar.h b/gdb/gdb_wchar.h
> index f88673b..c7a0f1e 100644
> --- a/gdb/gdb_wchar.h
> +++ b/gdb/gdb_wchar.h
> @@ -49,18 +49,18 @@
> #define PHONY_ICONV
> #endif
>
> +#include <wchar.h>
> +#include <wctype.h>
> +
> /* We use "btowc" as a sentinel to detect functioning wchar_t support.
> We check for either __STDC_ISO_10646__ or a new-enough libiconv in
> order to ensure we can convert to and from wchar_t. We choose
> libiconv version 0x108 because it is the first version with
> iconvlist. */
> -#if defined (HAVE_ICONV) && defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC) \
> +#if defined (HAVE_ICONV) && defined (HAVE_BTOWC) \
> && (defined (__STDC_ISO_10646__) \
> || (defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x108))
>
> -#include <wchar.h>
> -#include <wctype.h>
> -
> typedef wchar_t gdb_wchar_t;
> typedef wint_t gdb_wint_t;
>
> @@ -94,7 +94,7 @@ const char *intermediate_encoding (void);
>
> /* If we got here and have wchar_t support, we might be on a system
> with some problem. So, we just disable everything. */
> -#if defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC)
> +#if defined (HAVE_BTOWC)
> #define PHONY_ICONV
> #endif
It's hard to reason about all the modes supported here, but
I think this is OK. Seems like the comment above about wchar_t
support should be updated though.
(I wonder whether if we pulled in the gnulib btowc module, we could
get rid of at least some of this fallback stuff. We're already
pulling in mbrtowc...)
Thanks,
Pedro Alves
Pedro Alves <palves@redhat.com> writes:
> It's hard to reason about all the modes supported here, but
> I think this is OK. Seems like the comment above about wchar_t
> support should be updated though.
>
At the beginning, I tried to change more than what I did in this patch,
but I got myself in trouble in these different modes, which I don't
fully understand. I'll revisit it once my gnulib patches queue is empty.
> (I wonder whether if we pulled in the gnulib btowc module, we could
> get rid of at least some of this fallback stuff. We're already
> pulling in mbrtowc...)
Agreed, that is one thing we could do.
@@ -49,18 +49,18 @@
#define PHONY_ICONV
#endif
+#include <wchar.h>
+#include <wctype.h>
+
/* We use "btowc" as a sentinel to detect functioning wchar_t support.
We check for either __STDC_ISO_10646__ or a new-enough libiconv in
order to ensure we can convert to and from wchar_t. We choose
libiconv version 0x108 because it is the first version with
iconvlist. */
-#if defined (HAVE_ICONV) && defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC) \
+#if defined (HAVE_ICONV) && defined (HAVE_BTOWC) \
&& (defined (__STDC_ISO_10646__) \
|| (defined (_LIBICONV_VERSION) && _LIBICONV_VERSION >= 0x108))
-#include <wchar.h>
-#include <wctype.h>
-
typedef wchar_t gdb_wchar_t;
typedef wint_t gdb_wint_t;
@@ -94,7 +94,7 @@ const char *intermediate_encoding (void);
/* If we got here and have wchar_t support, we might be on a system
with some problem. So, we just disable everything. */
-#if defined (HAVE_WCHAR_H) && defined (HAVE_BTOWC)
+#if defined (HAVE_BTOWC)
#define PHONY_ICONV
#endif