This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [Patch] Fix ONE_DIRECTION undef warnings.


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.  */



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]