This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [Patch] Fix ONE_DIRECTION undef warnings.
- From: Steve Ellcey <sellcey at mips dot com>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: Roland McGrath <roland at hack dot frob dot com>, <libc-alpha at sourceware dot org>
- Date: Wed, 30 Apr 2014 10:08:23 -0700
- Subject: Re: [Patch] Fix ONE_DIRECTION undef warnings.
- Authentication-results: sourceware.org; auth=none
- References: <c087928d-c0a6-4121-8236-84a1a9e59870 at BAMAIL02 dot ba dot imgtec dot org> <20140428174126 dot 18CE02C3A00 at topped-with-meat dot com> <535FFE81 dot 4060104 at redhat dot com> <1398802315 dot 14541 dot 48 dot camel at ubuntu-sellcey> <5360162B dot 90303 at redhat dot com>
On Tue, 2014-04-29 at 17:14 -0400, Carlos O'Donell wrote:
> Lastly, I hope that we can all agree that:
>
> #ifndef ONE_DIRECTION
> #define ONE_DIRECTION
> #endif
>
> Isn't quite what we want since it silently accepts a particular
> configuration. We also didn't do a good job of documenting this
> particular default :-(
OK, Here is a new (partial) patch for the undef's involving ONE_DIRECTION.
It undoes my earlier patch and includes defines of ONE_DIRECTION in
gconv_simple.c, 8bit-generic.c, and 8bit-generic.c. This does not fix all
the warnings involving ONE_DIRECTION but it gets rid of several hundred and
I would like to get this approved and checked in before attacking the rest.
Unfortunately, it looks like fixing the remaining 100 undefs will require
one line fixes to 100 different files in iconvdata all of which include
skeleton.c.
OK to check this in?
Steve Ellcey
sellcey@mips.com
2014-04-30 Steve Ellcey <sellcey@mips.com>
* intl/iconv/skeleton.c (ONE_DIRECTION): Remove define.
* iconv/gconv_simple.c (ONE_DIRECTION): Define.
* iconvdata/8bit-gap.c (ONE_DIRECTION): Ditto.
* iconvdata/8bit-generic.c (ONE_DIRECTION): Ditto.
diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c
index f357713..4ed4505 100644
--- a/iconv/gconv_simple.c
+++ b/iconv/gconv_simple.c
@@ -68,6 +68,7 @@ __gconv_btwoc_ascii (struct __gconv_step *step, unsigned char c)
#define FROM_LOOP internal_ucs4_loop
#define TO_LOOP internal_ucs4_loop /* This is not used. */
#define FUNCTION_NAME __gconv_transform_internal_ucs4
+#define ONE_DIRECTION 0
static inline int
@@ -222,6 +223,7 @@ internal_ucs4_loop_single (struct __gconv_step *step,
#define FROM_LOOP ucs4_internal_loop
#define TO_LOOP ucs4_internal_loop /* This is not used. */
#define FUNCTION_NAME __gconv_transform_ucs4_internal
+#define ONE_DIRECTION 0
static inline int
@@ -433,6 +435,7 @@ ucs4_internal_loop_single (struct __gconv_step *step,
#define FROM_LOOP internal_ucs4le_loop
#define TO_LOOP internal_ucs4le_loop /* This is not used. */
#define FUNCTION_NAME __gconv_transform_internal_ucs4le
+#define ONE_DIRECTION 0
static inline int
@@ -590,6 +593,7 @@ internal_ucs4le_loop_single (struct __gconv_step *step,
#define FROM_LOOP ucs4le_internal_loop
#define TO_LOOP ucs4le_internal_loop /* This is not used. */
#define FUNCTION_NAME __gconv_transform_ucs4le_internal
+#define ONE_DIRECTION 0
static inline int
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 1908949..73dc186 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -163,11 +163,6 @@
# endif
#endif
-#ifndef ONE_DIRECTION
-# define ONE_DIRECTION 0
-#endif
-
-
/* How many bytes are needed at most for the from-charset. */
#ifndef MAX_NEEDED_FROM
# define MAX_NEEDED_FROM MIN_NEEDED_FROM
diff --git a/iconvdata/8bit-gap.c b/iconvdata/8bit-gap.c
index b33a6ea..3bd7149 100644
--- a/iconvdata/8bit-gap.c
+++ b/iconvdata/8bit-gap.c
@@ -42,6 +42,7 @@ struct gap
#define DEFINE_FINI 1
#define MIN_NEEDED_FROM 1
#define MIN_NEEDED_TO 4
+#define ONE_DIRECTION 0
/* First define the conversion function from the 8bit charset to UCS4. */
diff --git a/iconvdata/8bit-generic.c b/iconvdata/8bit-generic.c
index 20066aa..efc0fd5 100644
--- a/iconvdata/8bit-generic.c
+++ b/iconvdata/8bit-generic.c
@@ -26,6 +26,7 @@
#define DEFINE_FINI 1
#define MIN_NEEDED_FROM 1
#define MIN_NEEDED_TO 4
+#define ONE_DIRECTION 0
/* First define the conversion function from the 8bit charset to UCS4. */