This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib 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 include file ordering in libc/stdlib/mb*.c


Chris,

I think the real solution should be to include <sys/reent.h> in wchar.h. Alternatively, a simple struct _reent; declaration would stop the problem. Otherwise, the end-user will run into the same problem.

I will check this in shortly.

-- Jeff J.

Christopher Faylor wrote:
Although this patch is relatively large, I've checked this in as a
trivial fix.  Without this, mbrtowc.c and friends do not compile with
the header in libc/include/wchar.h since gcc gets confused by the
missing struct _reent definition.  Moving the reent.h include earlier
seems to fix things.

The multiple ChangeLog entries came about due to the fact that I kept
noticing more and more of these problems as I was trying to build a
cygwin snapshot.

cgf

2003-12-05 Christopher Faylor <cgf@redhat.com>

        * libc/stdlib/mbrlen.c: Change include order to prevent compiler errors
        when defining _mbrtowc.
        * libc/stdlib/mbsinit.c: Ditto.
        * libc/stdlib/mbsrtowcs.c: Ditto.
        * libc/stdlib/wcrtomb.c: Ditto.
        * libc/stdlib/wcsrtombs.c: Ditto.
        * libc/stdlib/wctob.c: Ditto.

2003-12-05 Christopher Faylor <cgf@redhat.com>
* libc/stdlib/mbrlen.c: Change include order to prevent compiler
errors when defining _mbrtowc.
* libc/stdlib/mbsinit.c: Ditto.
* libc/stdlib/mbsrtowcs.c: Ditto.


2003-12-05 Christopher Faylor <cgf@redhat.com>

 	* libc/stdlib/mbrtowc.c: Change include order to prevent compiler
 	errors when defining _mbrtowc.

Index: libc/stdlib/mbrtowc.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/mbrtowc.c,v
retrieving revision 1.2
diff -u -p -r1.2 mbrtowc.c
--- libc/stdlib/mbrtowc.c 9 Sep 2002 21:42:14 -0000 1.2
+++ libc/stdlib/mbrtowc.c 5 Dec 2003 06:01:54 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
#include <string.h>
Index: libc/stdlib/mbrlen.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/mbrlen.c,v
retrieving revision 1.2
diff -u -p -r1.2 mbrlen.c
--- libc/stdlib/mbrlen.c 9 Sep 2002 21:42:14 -0000 1.2
+++ libc/stdlib/mbrlen.c 5 Dec 2003 06:08:03 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
size_t
Index: libc/stdlib/mbsinit.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/mbsinit.c,v
retrieving revision 1.1
diff -u -p -r1.1 mbsinit.c
--- libc/stdlib/mbsinit.c 23 Aug 2002 01:56:04 -0000 1.1
+++ libc/stdlib/mbsinit.c 5 Dec 2003 06:08:03 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
int
Index: libc/stdlib/mbsrtowcs.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/mbsrtowcs.c,v
retrieving revision 1.2
diff -u -p -r1.2 mbsrtowcs.c
--- libc/stdlib/mbsrtowcs.c 9 Sep 2002 21:42:14 -0000 1.2
+++ libc/stdlib/mbsrtowcs.c 5 Dec 2003 06:08:03 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
size_t
Index: libc/stdlib/wcrtomb.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/wcrtomb.c,v
retrieving revision 1.2
diff -u -p -r1.2 wcrtomb.c
--- libc/stdlib/wcrtomb.c 9 Sep 2002 21:42:14 -0000 1.2
+++ libc/stdlib/wcrtomb.c 5 Dec 2003 06:13:18 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
size_t
Index: libc/stdlib/wcsrtombs.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/wcsrtombs.c,v
retrieving revision 1.3
diff -u -p -r1.3 wcsrtombs.c
--- libc/stdlib/wcsrtombs.c 6 Nov 2003 00:46:59 -0000 1.3
+++ libc/stdlib/wcsrtombs.c 5 Dec 2003 06:13:18 -0000
@@ -1,7 +1,7 @@
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
#include <errno.h>
size_t
Index: libc/stdlib/wctob.c
===================================================================
RCS file: /cvs/uberbaum/newlib/libc/stdlib/wctob.c,v
retrieving revision 1.1
diff -u -p -r1.1 wctob.c
--- libc/stdlib/wctob.c 23 Aug 2002 01:56:04 -0000 1.1
+++ libc/stdlib/wctob.c 5 Dec 2003 06:13:18 -0000
@@ -1,8 +1,7 @@
-#include <wchar.h>
+#include <reent.h>
#include <wchar.h>
#include <stdlib.h>
#include <stdio.h>
-#include <reent.h>
int
wctob (wint_t c)


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