public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
@ 2008-07-01  0:57 Joel Brobecker
  2008-07-01  2:45 ` Kaveh R. GHAZI
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-01  0:57 UTC (permalink / raw)
  To: gcc-patches; +Cc: zack

[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]

Hello,

The GDB project recently moved to using gnulib's stdint.h file.
This allowed us to make a nice cleanup overall, but I discovered
a couple of snags while trying to test on mips-irix.  The first one
was relatively easy to fix thanks to a suggestion from DanielJ,
but the second one is a little more problematic.

I give the reference to the discussion that took place on gdb-patches,
but the problem is that gnulib/stdint.h includes wchar.h, which on
IRIX includes ctype.h.  At the same time, another file (cp-support.c)
includes defs.h, which includes gnulib/stdint.h, while at the same
time including safe-ctype.h.

This causes a compilation failure, because safe-ctype.h refuses to
compile if ctype.h was previously included:

  #ifdef isalpha
   #error "safe-ctype.h and ctype.h may not be used simultaneously"
  #endif

Is this check really (still) necessary? The comments in the header
explicitly say that the macros have been defined in upper case to avoid
conflict with ctype.h, so it seems that safe-ctype.h and ctype.h are not
mutually exclusive.

I tried looking at the history of the file, to understand if there were
some specific issues that this check was trying to prevent, but revision
one already had the check, so no luck. Would it be a reasonable thing to
do to remove that check? 

2008-06-30  Joel Brobecker  <brobecker@adacore.com>

        * safe-ctype.h: Do not check that ctype.h has been included.

Tested by verifying that GDB builds again on mips-irix. Thoughts?

Ref: http://sourceware.org/ml/gdb-patches/2008-06/msg00513.html

Thanks,
-- 
Joel

[-- Attachment #2: safe-ctype.diff --]
[-- Type: text/plain, Size: 571 bytes --]

Index: safe-ctype.h
===================================================================
RCS file: /cvs/src/src/include/safe-ctype.h,v
retrieving revision 1.9
diff -u -p -r1.9 safe-ctype.h
--- safe-ctype.h	10 May 2005 10:21:08 -0000	1.9
+++ safe-ctype.h	1 Jul 2008 00:53:03 -0000
@@ -35,10 +35,6 @@ Boston, MA 02110-1301, USA.  */
 #ifndef SAFE_CTYPE_H
 #define SAFE_CTYPE_H
 
-#ifdef isalpha
- #error "safe-ctype.h and ctype.h may not be used simultaneously"
-#endif
-
 /* Determine host character set.  */
 #define HOST_CHARSET_UNKNOWN 0
 #define HOST_CHARSET_ASCII   1

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-01  0:57 [RFA/RFC] Remove check of ctype.h include in safe-ctype.h? Joel Brobecker
@ 2008-07-01  2:45 ` Kaveh R. GHAZI
  2008-07-01  3:11   ` Kaveh R. GHAZI
  2008-07-02  1:25   ` Ian Lance Taylor
  0 siblings, 2 replies; 37+ messages in thread
From: Kaveh R. GHAZI @ 2008-07-01  2:45 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gcc-patches, zack

On Mon, 30 Jun 2008, Joel Brobecker wrote:

> Hello,
>
> The GDB project recently moved to using gnulib's stdint.h file.
> This allowed us to make a nice cleanup overall, but I discovered
> a couple of snags while trying to test on mips-irix.  The first one
> was relatively easy to fix thanks to a suggestion from DanielJ,
> but the second one is a little more problematic.
>
> I give the reference to the discussion that took place on gdb-patches,
> but the problem is that gnulib/stdint.h includes wchar.h, which on
> IRIX includes ctype.h.  At the same time, another file (cp-support.c)
> includes defs.h, which includes gnulib/stdint.h, while at the same
> time including safe-ctype.h.
>
> This causes a compilation failure, because safe-ctype.h refuses to
> compile if ctype.h was previously included:
>
>   #ifdef isalpha
>    #error "safe-ctype.h and ctype.h may not be used simultaneously"
>   #endif
>
> Is this check really (still) necessary? The comments in the header
> explicitly say that the macros have been defined in upper case to avoid
> conflict with ctype.h, so it seems that safe-ctype.h and ctype.h are not
> mutually exclusive.
>
> I tried looking at the history of the file, to understand if there were
> some specific issues that this check was trying to prevent, but revision
> one already had the check, so no luck. Would it be a reasonable thing to
> do to remove that check?

This check was included because we believe that one should not
mix-and-match use of ctype and safe-ctype.  Pick one or the other.

See the original patch rationale here:
http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00405.html

IMHO we should try to keep this check.  When we didn't enforce it, people
tended to regress and use the lower-case versions by accident.

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-01  2:45 ` Kaveh R. GHAZI
@ 2008-07-01  3:11   ` Kaveh R. GHAZI
  2008-07-02  1:25   ` Ian Lance Taylor
  1 sibling, 0 replies; 37+ messages in thread
From: Kaveh R. GHAZI @ 2008-07-01  3:11 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: gcc-patches, zack

On Mon, 30 Jun 2008, Joel Brobecker wrote:

> Hello,
>
> The GDB project recently moved to using gnulib's stdint.h file.
> This allowed us to make a nice cleanup overall, but I discovered
> a couple of snags while trying to test on mips-irix.  The first one
> was relatively easy to fix thanks to a suggestion from DanielJ,
> but the second one is a little more problematic.
>
> I give the reference to the discussion that took place on gdb-patches,
> but the problem is that gnulib/stdint.h includes wchar.h, which on
> IRIX includes ctype.h.  At the same time, another file (cp-support.c)
> includes defs.h, which includes gnulib/stdint.h, while at the same
> time including safe-ctype.h.
>
> This causes a compilation failure, because safe-ctype.h refuses to
> compile if ctype.h was previously included:
>
>   #ifdef isalpha
>    #error "safe-ctype.h and ctype.h may not be used simultaneously"
>   #endif
>
> Is this check really (still) necessary? The comments in the header
> explicitly say that the macros have been defined in upper case to avoid
> conflict with ctype.h, so it seems that safe-ctype.h and ctype.h are not
> mutually exclusive.
>
> I tried looking at the history of the file, to understand if there were
> some specific issues that this check was trying to prevent, but revision
> one already had the check, so no luck. Would it be a reasonable thing to
> do to remove that check?

This check was included because we believe that one should not
mix-and-match use of ctype and safe-ctype.  Pick one or the other.

See the original patch rationale here:
http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00405.html

IMHO we should try to keep this check.  When we didn't enforce it, people
tended to regress and use the lower-case versions by accident.

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-01  2:45 ` Kaveh R. GHAZI
  2008-07-01  3:11   ` Kaveh R. GHAZI
@ 2008-07-02  1:25   ` Ian Lance Taylor
  2008-07-02 19:28     ` Joel Brobecker
  1 sibling, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-02  1:25 UTC (permalink / raw)
  To: Kaveh R. GHAZI; +Cc: Joel Brobecker, gcc-patches, zack

"Kaveh R. GHAZI" <ghazi@caip.rutgers.edu> writes:

> This check was included because we believe that one should not
> mix-and-match use of ctype and safe-ctype.  Pick one or the other.
>
> See the original patch rationale here:
> http://gcc.gnu.org/ml/gcc-patches/2000-12/msg00405.html
>
> IMHO we should try to keep this check.  When we didn't enforce it, people
> tended to regress and use the lower-case versions by accident.

Suppose we can the implementation of check to do this in safe-ctype.h:

#define isalpha do_not_use_isalpha_with_safe_ctype
etc.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-02  1:25   ` Ian Lance Taylor
@ 2008-07-02 19:28     ` Joel Brobecker
  2008-07-02 19:52       ` Ian Lance Taylor
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-02 19:28 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. GHAZI, gcc-patches, zack

[-- Attachment #1: Type: text/plain, Size: 1006 bytes --]

> Suppose we can the implementation of check to do this in safe-ctype.h:
> 
> #define isalpha do_not_use_isalpha_with_safe_ctype
> etc.

After thinking about it for a little while, I think that this is the
approach that works best.

It might actually improve the check: Right now, there is a hole if ctype.h
is included after safe-ctype.h.  With the new suggested approach, if
ctype.h is included after, we should get a warning because of the is...
macros being redefined (are warnings fatal when building GCC? They are
when building GDB).  If ctype.h is included before, we should get a
compilation error because do_not_use_..._with_safe_ctype is undefined.

2008-07-02  Joel Brobecker  <brobecker@adacore.com>

        * safe-ctype.h: Remove #error when detecting that ctype.h has been
        included. Redefine the various macros provided by ctype.h as
        undefined variables.

Tested by building GDB on mips-irix (fixes the build problem there),
and on x86-linux.

OK to apply?

Thanks,
-- 
Joel

[-- Attachment #2: safe-ctype.diff --]
[-- Type: text/plain, Size: 2580 bytes --]

Index: safe-ctype.h
===================================================================
RCS file: /cvs/src/src/include/safe-ctype.h,v
retrieving revision 1.9
diff -u -p -r1.9 safe-ctype.h
--- safe-ctype.h	10 May 2005 10:21:08 -0000	1.9
+++ safe-ctype.h	2 Jul 2008 17:56:49 -0000
@@ -35,10 +35,6 @@ Boston, MA 02110-1301, USA.  */
 #ifndef SAFE_CTYPE_H
 #define SAFE_CTYPE_H
 
-#ifdef isalpha
- #error "safe-ctype.h and ctype.h may not be used simultaneously"
-#endif
-
 /* Determine host character set.  */
 #define HOST_CHARSET_UNKNOWN 0
 #define HOST_CHARSET_ASCII   1
@@ -116,4 +112,50 @@ extern const unsigned char  _sch_tolower
 #define TOUPPER(c) _sch_toupper[(c) & 0xff]
 #define TOLOWER(c) _sch_tolower[(c) & 0xff]
 
+/* Prevent the users of safe-ctype.h from accidently using the routines
+   from ctype.h.  Initially, the approach was to produce an error when
+   detecting that ctype.h has been included.  But this was causing
+   trouble as ctype.h might get indirectly included as a result of
+   including another system header (for instance gnulib's stdint.h).  */
+#undef isalpha
+#define isalpha(c) do_not_use_isalpha_with_safe_ctype
+#undef isalnum
+#define isalnum(c) do_not_use_isalnum_with_safe_ctype
+#undef isblank
+#define isblank(c) do_not_use_isblank_with_safe_ctype
+#undef iscntrl
+#define iscntrl(c) do_not_use_iscntrl_with_safe_ctype
+#undef isdigit
+#define isdigit(c) do_not_use_isdigit_with_safe_ctype
+#undef isgraph
+#define isgraph(c) do_not_use_isgraph_with_safe_ctype
+#undef islower
+#define islower(c) do_not_use_islower_with_safe_ctype
+#undef isprint
+#define isprint(c) do_not_use_isprint_with_safe_ctype
+#undef ispunct
+#define ispunct(c) do_not_use_ispunct_with_safe_ctype
+#undef isspace
+#define isspace(c) do_not_use_isspace_with_safe_ctype
+#undef isupper
+#define isupper(c) do_not_use_isupper_with_safe_ctype
+#undef isxdigit
+#define isxdigit(c) do_not_use_isxdigit_with_safe_ctype
+#undef isidnum
+#define isidnum(c) do_not_use_isidnum_with_safe_ctype
+#undef isidst
+#define isidst(c) do_not_use_isidst_with_safe_ctype
+#undef is_isobasic
+#define is_isobasic(c) do_not_use_is_isobasic_with_safe_ctype
+#undef is_vspace
+#define is_vspace(c) do_not_use_is_vspace_with_safe_ctype
+#undef is_nvspace
+#define is_nvspace(c) do_not_use_is_nvspace_with_safe_ctype
+#undef is_space_or_nul
+#define is_space_or_nul(c) do_not_use_is_space_or_nul_with_safe_ctype
+#undef toupper
+#define toupper(c) do_not_use_toupper_with_safe_ctype
+#undef tolower
+#define tolower(c) do_not_use_tolower_with_safe_ctype
+
 #endif /* SAFE_CTYPE_H */

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-02 19:28     ` Joel Brobecker
@ 2008-07-02 19:52       ` Ian Lance Taylor
  2008-07-02 21:22         ` Joel Brobecker
  2008-07-03 17:51         ` Joel Brobecker
  0 siblings, 2 replies; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-02 19:52 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker <brobecker@adacore.com> writes:

>> Suppose we can the implementation of check to do this in safe-ctype.h:
>> 
>> #define isalpha do_not_use_isalpha_with_safe_ctype
>> etc.
>
> After thinking about it for a little while, I think that this is the
> approach that works best.
>
> It might actually improve the check: Right now, there is a hole if ctype.h
> is included after safe-ctype.h.  With the new suggested approach, if
> ctype.h is included after, we should get a warning because of the is...
> macros being redefined (are warnings fatal when building GCC? They are
> when building GDB).  If ctype.h is included before, we should get a
> compilation error because do_not_use_..._with_safe_ctype is undefined.
>
> 2008-07-02  Joel Brobecker  <brobecker@adacore.com>
>
>         * safe-ctype.h: Remove #error when detecting that ctype.h has been
>         included. Redefine the various macros provided by ctype.h as
>         undefined variables.
>
> Tested by building GDB on mips-irix (fixes the build problem there),
> and on x86-linux.

For a change of this sort we need somebody to try a gcc bootstrap.
Any volunteers?

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-02 19:52       ` Ian Lance Taylor
@ 2008-07-02 21:22         ` Joel Brobecker
  2008-07-03 17:51         ` Joel Brobecker
  1 sibling, 0 replies; 37+ messages in thread
From: Joel Brobecker @ 2008-07-02 21:22 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. GHAZI, gcc-patches, zack

Hi Ian,

> > 2008-07-02  Joel Brobecker  <brobecker@adacore.com>
> >
> >         * safe-ctype.h: Remove #error when detecting that ctype.h has been
> >         included. Redefine the various macros provided by ctype.h as
> >         undefined variables.
> >
> > Tested by building GDB on mips-irix (fixes the build problem there),
> > and on x86-linux.
> 
> For a change of this sort we need somebody to try a gcc bootstrap.
> Any volunteers?

Let me see if someone from AdaCore can help me with that. My machine
doesn't meet the build requirements, but others are routinely doing
bootstraps...

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-02 19:52       ` Ian Lance Taylor
  2008-07-02 21:22         ` Joel Brobecker
@ 2008-07-03 17:51         ` Joel Brobecker
  2008-07-03 19:04           ` Ian Lance Taylor
  1 sibling, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-03 17:51 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. GHAZI, gcc-patches, zack

> > 2008-07-02  Joel Brobecker  <brobecker@adacore.com>
> >
> >         * safe-ctype.h: Remove #error when detecting that ctype.h has been
> >         included. Redefine the various macros provided by ctype.h as
> >         undefined variables.
> >
> > Tested by building GDB on mips-irix (fixes the build problem there),
> > and on x86-linux.
> 
> For a change of this sort we need somebody to try a gcc bootstrap.
> Any volunteers?

Unfortunately, that was a good suggestion:

In file included from /home/eric/svn/gcc/libcpp/charset.c:24:
/home/eric/svn/gcc/libcpp/internal.h:490:1: error: "is_vspace" redefined
In file included from /home/eric/svn/gcc/libcpp/system.h:343,
                 from /home/eric/svn/gcc/libcpp/charset.c:22:
/home/eric/svn/gcc/libcpp/../include/safe-ctype.h:151:1: error: this is the
location of the previous definition
In file included from /home/eric/svn/gcc/libcpp/charset.c:24:
/home/eric/svn/gcc/libcpp/internal.h:491:1: error: "is_nvspace" redefined
In file included from /home/eric/svn/gcc/libcpp/system.h:343,
                 from /home/eric/svn/gcc/libcpp/charset.c:22:
/home/eric/svn/gcc/libcpp/../include/safe-ctype.h:153:1: error: this is the
location of the previous definition

These macros are part of a group of macro definitions:

#define is_idchar(x)    (ISIDNUM(x) || _dollar_ok(x))
#define is_numchar(x)   ISIDNUM(x)
#define is_idstart(x)   (ISIDST(x) || _dollar_ok(x))
#define is_numstart(x)  ISDIGIT(x)
#define is_hspace(x)    ISBLANK(x)
#define is_vspace(x)    IS_VSPACE(x)
#define is_nvspace(x)   IS_NVSPACE(x)
#define is_space(x)     IS_SPACE_OR_NUL(x)

I can change the different call sites of is_vspace & is_nvspace to use
the upper-case version directly. I think it would be a useful change
for GCC if GCC ever thinks of using gnulib's stdint.h, but otherwise
it will introduce a slight inconsistency in the coding style where
most is_* macros are lowercase except for IS_VSPACE and IS_NVSPACE...
Another option is to change all macros to be upper case.

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-03 17:51         ` Joel Brobecker
@ 2008-07-03 19:04           ` Ian Lance Taylor
  2008-07-04  1:14             ` Joel Brobecker
  0 siblings, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-03 19:04 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker <brobecker@adacore.com> writes:

> Unfortunately, that was a good suggestion:
>
> In file included from /home/eric/svn/gcc/libcpp/charset.c:24:
> /home/eric/svn/gcc/libcpp/internal.h:490:1: error: "is_vspace" redefined
> In file included from /home/eric/svn/gcc/libcpp/system.h:343,
>                  from /home/eric/svn/gcc/libcpp/charset.c:22:
> /home/eric/svn/gcc/libcpp/../include/safe-ctype.h:151:1: error: this is the
> location of the previous definition
> In file included from /home/eric/svn/gcc/libcpp/charset.c:24:
> /home/eric/svn/gcc/libcpp/internal.h:491:1: error: "is_nvspace" redefined
> In file included from /home/eric/svn/gcc/libcpp/system.h:343,
>                  from /home/eric/svn/gcc/libcpp/charset.c:22:
> /home/eric/svn/gcc/libcpp/../include/safe-ctype.h:153:1: error: this is the
> location of the previous definition

is_vspace and is_nvspace are not in <ctype.h>, so I think it would be
fine to drop them from the redefinitions in safe-ctype.h.

The <ctype.h> macros/functions all start with "is[a-z]".

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-03 19:04           ` Ian Lance Taylor
@ 2008-07-04  1:14             ` Joel Brobecker
  2008-07-04  3:22               ` Ian Lance Taylor
  2008-07-10 21:15               ` Aaron W. LaFramboise
  0 siblings, 2 replies; 37+ messages in thread
From: Joel Brobecker @ 2008-07-04  1:14 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. GHAZI, gcc-patches, zack

[-- Attachment #1: Type: text/plain, Size: 500 bytes --]

> is_vspace and is_nvspace are not in <ctype.h>, so I think it would be
> fine to drop them from the redefinitions in safe-ctype.h.

Argh yes, major what-was-I-thinking alert. Thanks Ian.
Here is a new version that passes the bootstrap test on x86-linux.

2008-07-03  Joel Brobecker  <brobecker@adacore.com>

        * safe-ctype.h: Remove #error when detecting that ctype.h has been
        included. Redefine the various macros provided by ctype.h as
        undefined variables.

Cheers,
-- 
Joel

[-- Attachment #2: safe-ctype.diff --]
[-- Type: text/plain, Size: 1911 bytes --]

Index: safe-ctype.h
===================================================================
--- safe-ctype.h	(revision 137433)
+++ safe-ctype.h	(working copy)
@@ -35,10 +35,6 @@ Boston, MA 02110-1301, USA.  */
 #ifndef SAFE_CTYPE_H
 #define SAFE_CTYPE_H
 
-#ifdef isalpha
- #error "safe-ctype.h and ctype.h may not be used simultaneously"
-#endif
-
 /* Determine host character set.  */
 #define HOST_CHARSET_UNKNOWN 0
 #define HOST_CHARSET_ASCII   1
@@ -116,4 +112,36 @@ extern const unsigned char  _sch_tolower
 #define TOUPPER(c) _sch_toupper[(c) & 0xff]
 #define TOLOWER(c) _sch_tolower[(c) & 0xff]
 
+/* Prevent the users of safe-ctype.h from accidently using the routines
+   from ctype.h.  Initially, the approach was to produce an error when
+   detecting that ctype.h has been included.  But this was causing
+   trouble as ctype.h might get indirectly included as a result of
+   including another system header (for instance gnulib's stdint.h).  */
+#undef isalpha
+#define isalpha(c) do_not_use_isalpha_with_safe_ctype
+#undef isalnum
+#define isalnum(c) do_not_use_isalnum_with_safe_ctype
+#undef iscntrl
+#define iscntrl(c) do_not_use_iscntrl_with_safe_ctype
+#undef isdigit
+#define isdigit(c) do_not_use_isdigit_with_safe_ctype
+#undef isgraph
+#define isgraph(c) do_not_use_isgraph_with_safe_ctype
+#undef islower
+#define islower(c) do_not_use_islower_with_safe_ctype
+#undef isprint
+#define isprint(c) do_not_use_isprint_with_safe_ctype
+#undef ispunct
+#define ispunct(c) do_not_use_ispunct_with_safe_ctype
+#undef isspace
+#define isspace(c) do_not_use_isspace_with_safe_ctype
+#undef isupper
+#define isupper(c) do_not_use_isupper_with_safe_ctype
+#undef isxdigit
+#define isxdigit(c) do_not_use_isxdigit_with_safe_ctype
+#undef toupper
+#define toupper(c) do_not_use_toupper_with_safe_ctype
+#undef tolower
+#define tolower(c) do_not_use_tolower_with_safe_ctype
+
 #endif /* SAFE_CTYPE_H */

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04  1:14             ` Joel Brobecker
@ 2008-07-04  3:22               ` Ian Lance Taylor
  2008-07-04 17:29                 ` Joel Brobecker
  2008-07-10 21:15               ` Aaron W. LaFramboise
  1 sibling, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-04  3:22 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker <brobecker@adacore.com> writes:

> 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
>
>         * safe-ctype.h: Remove #error when detecting that ctype.h has been
>         included. Redefine the various macros provided by ctype.h as
>         undefined variables.

This is OK.

Thanks.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04  3:22               ` Ian Lance Taylor
@ 2008-07-04 17:29                 ` Joel Brobecker
  2008-07-04 20:25                   ` Andreas Tobler
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-04 17:29 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. GHAZI, gcc-patches, zack

> > 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
> >
> >         * safe-ctype.h: Remove #error when detecting that ctype.h has been
> >         included. Redefine the various macros provided by ctype.h as
> >         undefined variables.
> 
> This is OK.

Thanks, Ian. Now checked in - both in SVN (GCC) and CVS (GDB).

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 17:29                 ` Joel Brobecker
@ 2008-07-04 20:25                   ` Andreas Tobler
  2008-07-04 20:33                     ` Andreas Tobler
  0 siblings, 1 reply; 37+ messages in thread
From: Andreas Tobler @ 2008-07-04 20:25 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Ian Lance Taylor, Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker wrote:
>>> 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
>>>
>>>         * safe-ctype.h: Remove #error when detecting that ctype.h has been
>>>         included. Redefine the various macros provided by ctype.h as
>>>         undefined variables.
>> This is OK.
> 
> Thanks, Ian. Now checked in - both in SVN (GCC) and CVS (GDB).

Breaks bootstrap on x86-apple-darwin.

Andreas

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 20:25                   ` Andreas Tobler
@ 2008-07-04 20:33                     ` Andreas Tobler
  2008-07-04 21:22                       ` Joel Brobecker
  2008-07-04 21:22                       ` Ian Lance Taylor
  0 siblings, 2 replies; 37+ messages in thread
From: Andreas Tobler @ 2008-07-04 20:33 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Ian Lance Taylor, Kaveh R. GHAZI, gcc-patches, zack

Andreas Tobler wrote:
> Joel Brobecker wrote:
>>>> 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
>>>>
>>>>         * safe-ctype.h: Remove #error when detecting that ctype.h 
>>>> has been
>>>>         included. Redefine the various macros provided by ctype.h as
>>>>         undefined variables.
>>> This is OK.
>>
>> Thanks, Ian. Now checked in - both in SVN (GCC) and CVS (GDB).
> 
> Breaks bootstrap on x86-apple-darwin.

gcc -m64  -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings 
-Wstrict-prototypes -Wmissing-prototypes -Wcast-qual 
-Wold-style-definition -Wmissing-format-attribute -fno-common 
-DHAVE_CONFIG_H -I. -I. -I/Volumes/development/gcc/head/gcc/gcc 
-I/Volumes/development/gcc/head/gcc/gcc/. 
-I/Volumes/development/gcc/head/gcc/gcc/../include -I./../intl 
-I/Volumes/development/gcc/head/gcc/gcc/../libcpp/include 
-I/usr/local/x86_64/include -I/usr/local/x86_64/include 
-I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber 
-I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber/dpd 
-I../libdecnumber  \
	 
-DLOCALEDIR=\"/Volumes/development/gcc/head/testbin-x86_64/share/locale\" \
	  -c /Volumes/development/gcc/head/gcc/gcc/intl.c -o intl.o
In file included from /usr/include/_wctype.h:63,
                  from /usr/include/wchar.h:114,
                  from /Volumes/development/gcc/head/gcc/gcc/intl.c:85:
/usr/include/ctype.h:230: error: syntax error before '{' token
......
......

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 20:33                     ` Andreas Tobler
@ 2008-07-04 21:22                       ` Joel Brobecker
  2008-07-04 21:26                         ` Ian Lance Taylor
  2008-07-04 21:22                       ` Ian Lance Taylor
  1 sibling, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-04 21:22 UTC (permalink / raw)
  To: Andreas Tobler; +Cc: Ian Lance Taylor, Kaveh R. GHAZI, gcc-patches, zack

> >Breaks bootstrap on x86-apple-darwin.

Humpf! Sorry about that.

> gcc -m64  -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings 
> -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual 
> -Wold-style-definition -Wmissing-format-attribute -fno-common 
> -DHAVE_CONFIG_H -I. -I. -I/Volumes/development/gcc/head/gcc/gcc 
> -I/Volumes/development/gcc/head/gcc/gcc/. 
> -I/Volumes/development/gcc/head/gcc/gcc/../include -I./../intl 
> -I/Volumes/development/gcc/head/gcc/gcc/../libcpp/include 
> -I/usr/local/x86_64/include -I/usr/local/x86_64/include 
> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber 
> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber/dpd 
> -I../libdecnumber  \
> 	 
> -DLOCALEDIR=\"/Volumes/development/gcc/head/testbin-x86_64/share/locale\" \
> 	  -c /Volumes/development/gcc/head/gcc/gcc/intl.c -o intl.o
> In file included from /usr/include/_wctype.h:63,
>                  from /usr/include/wchar.h:114,
>                  from /Volumes/development/gcc/head/gcc/gcc/intl.c:85:
> /usr/include/ctype.h:230: error: syntax error before '{' token
> ......
> ......

Could you say why it's causing an error? I logged on an x86-darwin
machine but it looks like the header files are slightly different
so I can't pinpoint the code where the error occurs. If it turns
out that this is going to be tough to work-around, then I'll back
the change out.

Interestingly, it looks like the check to prevent inclusion of ctype.h
was defeated in this case, probably because it was indirectly included
*after* safe-ctype.h was included...

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 20:33                     ` Andreas Tobler
  2008-07-04 21:22                       ` Joel Brobecker
@ 2008-07-04 21:22                       ` Ian Lance Taylor
  2008-07-04 21:36                         ` Joel Brobecker
  2008-07-04 22:26                         ` Joel Brobecker
  1 sibling, 2 replies; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-04 21:22 UTC (permalink / raw)
  To: Andreas Tobler; +Cc: Joel Brobecker, Kaveh R. GHAZI, gcc-patches, zack

Andreas Tobler <andreast-list@fgznet.ch> writes:

> Andreas Tobler wrote:
>> Joel Brobecker wrote:
>>>>> 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
>>>>>
>>>>>         * safe-ctype.h: Remove #error when detecting that ctype.h
>>>>> has been
>>>>>         included. Redefine the various macros provided by ctype.h as
>>>>>         undefined variables.
>>>> This is OK.
>>>
>>> Thanks, Ian. Now checked in - both in SVN (GCC) and CVS (GDB).
>>
>> Breaks bootstrap on x86-apple-darwin.
>
> gcc -m64  -g -fkeep-inline-functions -DIN_GCC   -W -Wall
> -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual
> -Wold-style-definition -Wmissing-format-attribute -fno-common
> -DHAVE_CONFIG_H -I. -I. -I/Volumes/development/gcc/head/gcc/gcc
> -I/Volumes/development/gcc/head/gcc/gcc/. -I/Volumes/development/gcc/head/gcc/gcc/../include
> -I./../intl -I/Volumes/development/gcc/head/gcc/gcc/../libcpp/include
> -I/usr/local/x86_64/include -I/usr/local/x86_64/include
> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber
> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber/dpd
> -I../libdecnumber  \
> 	 -DLOCALEDIR=\"/Volumes/development/gcc/head/testbin-x86_64/share/locale\"
> \
> 	  -c /Volumes/development/gcc/head/gcc/gcc/intl.c -o intl.o
> In file included from /usr/include/_wctype.h:63,
>                  from /usr/include/wchar.h:114,
>                  from /Volumes/development/gcc/head/gcc/gcc/intl.c:85:
> /usr/include/ctype.h:230: error: syntax error before '{' token
> ......
> ......

I'm not sure we should be #including <safe-ctype.h> in gcc/system.h.
It seems to me that we should include it in the relatively few files
which need it.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 21:22                       ` Joel Brobecker
@ 2008-07-04 21:26                         ` Ian Lance Taylor
  0 siblings, 0 replies; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-04 21:26 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Andreas Tobler, Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker <brobecker@adacore.com> writes:

>> >Breaks bootstrap on x86-apple-darwin.
>
> Humpf! Sorry about that.
>
>> gcc -m64  -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings 
>> -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual 
>> -Wold-style-definition -Wmissing-format-attribute -fno-common 
>> -DHAVE_CONFIG_H -I. -I. -I/Volumes/development/gcc/head/gcc/gcc 
>> -I/Volumes/development/gcc/head/gcc/gcc/. 
>> -I/Volumes/development/gcc/head/gcc/gcc/../include -I./../intl 
>> -I/Volumes/development/gcc/head/gcc/gcc/../libcpp/include 
>> -I/usr/local/x86_64/include -I/usr/local/x86_64/include 
>> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber 
>> -I/Volumes/development/gcc/head/gcc/gcc/../libdecnumber/dpd 
>> -I../libdecnumber  \
>> 	 
>> -DLOCALEDIR=\"/Volumes/development/gcc/head/testbin-x86_64/share/locale\" \
>> 	  -c /Volumes/development/gcc/head/gcc/gcc/intl.c -o intl.o
>> In file included from /usr/include/_wctype.h:63,
>>                  from /usr/include/wchar.h:114,
>>                  from /Volumes/development/gcc/head/gcc/gcc/intl.c:85:
>> /usr/include/ctype.h:230: error: syntax error before '{' token
>> ......
>> ......
>
> Could you say why it's causing an error? I logged on an x86-darwin
> machine but it looks like the header files are slightly different
> so I can't pinpoint the code where the error occurs. If it turns
> out that this is going to be tough to work-around, then I'll back
> the change out.

You can see the problem from the above.  intl.c does a #include of
<wchar.h> after "system.h".  "system.h" includes <safe-ctype.h> (this
should probably change).  <wchar.h> includes <_wctype.h> which
includes <ctype.h>.  Thus we wind up with a #include of both
<safe-ctype.h> and <ctype.h>, which doesn't work.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 21:22                       ` Ian Lance Taylor
@ 2008-07-04 21:36                         ` Joel Brobecker
  2008-07-04 22:26                         ` Joel Brobecker
  1 sibling, 0 replies; 37+ messages in thread
From: Joel Brobecker @ 2008-07-04 21:36 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Andreas Tobler, Kaveh R. GHAZI, gcc-patches, zack

> I'm not sure we should be #including <safe-ctype.h> in gcc/system.h.
> It seems to me that we should include it in the relatively few files
> which need it.

I can try taking care of that, but since I'll be bootstrapping on
one platform only (x86-linux), is there a chance that I might miss some
files that are only used on other platforms?

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 21:22                       ` Ian Lance Taylor
  2008-07-04 21:36                         ` Joel Brobecker
@ 2008-07-04 22:26                         ` Joel Brobecker
  2008-07-04 23:08                           ` Ian Lance Taylor
  1 sibling, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-04 22:26 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Andreas Tobler, Kaveh R. GHAZI, gcc-patches

> I'm not sure we should be #including <safe-ctype.h> in gcc/system.h.
> It seems to me that we should include it in the relatively few files
> which need it.

A quick grep of all macros defined in safe-ctype.h inside the gcc
subdirectory gives a rather long list :-(: 78 files (see [1]).

If I include the rest of the tree in the search, we have to add
22 more files (see [2]).

I don't mind making the change, but is this desired?

-- 
Joel

[1]: List of files using safe-ctype.h in gcc/:
    ./gcc/ada/adadecode.c
    ./gcc/builtins.c
    ./gcc/c-common.c
    ./gcc/c-cppbuiltin.c
    ./gcc/c-decl.c
    ./gcc/c-format.c
    ./gcc/c-lex.c
    ./gcc/c-pretty-print.c
    ./gcc/collect2.c
    ./gcc/config/alpha/alpha.c
    ./gcc/config/alpha/vms-ld.c
    ./gcc/config/arm/arm.c
    ./gcc/config/darwin-c.c
    ./gcc/config/darwin-driver.c
    ./gcc/config/darwin.c
    ./gcc/config/i386/cygwin2.c
    ./gcc/config/i386/netware.c
    ./gcc/config/m32c/m32c.c
    ./gcc/config/mips/mips.c
    ./gcc/config/mmix/mmix.c
    ./gcc/config/rs6000/rs6000.c
    ./gcc/config/v850/v850.c
    ./gcc/cp/lex.c
    ./gcc/dwarf2asm.c
    ./gcc/final.c
    ./gcc/fix-header.c
    ./gcc/fortran/arith.c
    ./gcc/fortran/decl.c
    ./gcc/fortran/error.c
    ./gcc/fortran/io.c
    ./gcc/fortran/match.c
    ./gcc/fortran/matchexp.c
    ./gcc/fortran/module.c
    ./gcc/fortran/parse.c
    ./gcc/fortran/primary.c
    ./gcc/fortran/scanner.c
    ./gcc/gcc.c
    ./gcc/gen-protos.c
    ./gcc/genattr.c
    ./gcc/genattrtab.c
    ./gcc/genautomata.c
    ./gcc/genemit.c
    ./gcc/genextract.c
    ./gcc/genflags.c
    ./gcc/gengtype.c
    ./gcc/genopinit.c
    ./gcc/genoutput.c
    ./gcc/genpeep.c
    ./gcc/genpreds.c
    ./gcc/genrecog.c
    ./gcc/gensupport.c
    ./gcc/java/class.c
    ./gcc/java/decl.c
    ./gcc/java/jcf-dump.c
    ./gcc/java/jvgenmain.c
    ./gcc/java/jvspec.c
    ./gcc/java/mangle_name.c
    ./gcc/java/typeck.c
    ./gcc/local-alloc.c
    ./gcc/mips-tfile.c
    ./gcc/optabs.c
    ./gcc/opts.c
    ./gcc/pretty-print.c
    ./gcc/protoize.c
    ./gcc/read-rtl.c
    ./gcc/real.c
    ./gcc/recog.c
    ./gcc/reload.c
    ./gcc/scan.c
    ./gcc/sched-vis.c
    ./gcc/stmt.c
    ./gcc/stringpool.c
    ./gcc/testsuite/gcc.c-torture/execute/20000818-1.c
    ./gcc/tlink.c
    ./gcc/toplev.c
    ./gcc/tree.c
    ./gcc/varasm.c
    ./gcc/vmsdbgout.c

[2]: List of files using safe-ctype.h in the entire GCC tree excluding
     the gcc/ subdirectory:

    ./fixincludes/fixfixes.c
    ./fixincludes/fixincl.c
    ./fixincludes/server.c
    ./libcpp/charset.c
    ./libcpp/directives.c
    ./libcpp/expr.c
    ./libcpp/lex.c
    ./libiberty/_doprnt.c
    ./libiberty/argv.c
    ./libiberty/basename.c
    ./libiberty/cplus-dem.c
    ./libiberty/filename_cmp.c
    ./libiberty/fnmatch.c
    ./libiberty/lbasename.c
    ./libiberty/pex-msdos.c
    ./libiberty/regex.c
    ./libiberty/safe-ctype.c
    ./libiberty/strtod.c
    ./libiberty/strtol.c
    ./libiberty/strtoul.c
    ./libiberty/strverscmp.c
    ./libmudflap/mf-hooks2.c
    

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 22:26                         ` Joel Brobecker
@ 2008-07-04 23:08                           ` Ian Lance Taylor
  2008-07-05  1:23                             ` Kaveh R. Ghazi
  0 siblings, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-04 23:08 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Andreas Tobler, Kaveh R. GHAZI, gcc-patches

Joel Brobecker <brobecker@adacore.com> writes:

>> I'm not sure we should be #including <safe-ctype.h> in gcc/system.h.
>> It seems to me that we should include it in the relatively few files
>> which need it.
>
> A quick grep of all macros defined in safe-ctype.h inside the gcc
> subdirectory gives a rather long list :-(: 78 files (see [1]).
>
> If I include the rest of the tree in the search, we have to add
> 22 more files (see [2]).
>
> I don't mind making the change, but is this desired?

That is more than I expected.  Still, I don't mind if you make this
change.  The Darwin build problem does have to be fixed one way or
another.

I'd be interested in hearing other comments.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04 23:08                           ` Ian Lance Taylor
@ 2008-07-05  1:23                             ` Kaveh R. Ghazi
  2008-07-05 20:20                               ` Joel Brobecker
  0 siblings, 1 reply; 37+ messages in thread
From: Kaveh R. Ghazi @ 2008-07-05  1:23 UTC (permalink / raw)
  To: Joel Brobecker, Ian Lance Taylor; +Cc: Andreas Tobler, gcc-patches

From: "Ian Lance Taylor" <iant@google.com>

> Joel Brobecker <brobecker@adacore.com> writes:
>
>>> I'm not sure we should be #including <safe-ctype.h> in gcc/system.h.
>>> It seems to me that we should include it in the relatively few files
>>> which need it.
>>
>> A quick grep of all macros defined in safe-ctype.h inside the gcc
>> subdirectory gives a rather long list :-(: 78 files (see [1]).
>>
>> If I include the rest of the tree in the search, we have to add
>> 22 more files (see [2]).
>>
>> I don't mind making the change, but is this desired?
>
> That is more than I expected.  Still, I don't mind if you make this
> change.  The Darwin build problem does have to be fixed one way or
> another.
>
> I'd be interested in hearing other comments.
> Ian


Would it work to instead #poison isalpha et al in gcc/system.h?  Then remove 
the check from safe-ctype.h altogether.  (Oh I think there are several 
system.h files (like one in libcpp, etc).  We'd need to do the poison in all 
of them (but not in tsystem.h).  Then merely including both ctype.h and 
safe-ctype.h isn't an error, it's when you *use* the lowercase versions that 
the conflict is caught.  I don't know if this solves the darwin problem or 
not.  Also, this has the disadvantage in that users of safe-ctype.h other 
than GCC will not have the check.

--Kaveh

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-05  1:23                             ` Kaveh R. Ghazi
@ 2008-07-05 20:20                               ` Joel Brobecker
  2008-07-05 23:14                                 ` Kaveh R. Ghazi
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-05 20:20 UTC (permalink / raw)
  To: Kaveh R. Ghazi; +Cc: Ian Lance Taylor, Andreas Tobler, gcc-patches

> Would it work to instead #poison isalpha et al in gcc/system.h?  Then 
> remove the check from safe-ctype.h altogether.

I think it would work.  But why putting these pragmas outside of
safe-ctype.h? How about putting them at the end of safe-ctype.h
instead?

> (Oh I think there are several system.h files (like one in libcpp,
> etc).  We'd need to do the poison in all of them (but not in
> tsystem.h).

Yep, noticed that.

> I don't know if this solves the darwin problem or not.  Also, this has
> the disadvantage in that users of safe-ctype.h other than GCC will not
> have the check.

Putting the #poison in safe-ctype.h would take care of that concern.

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-05 20:20                               ` Joel Brobecker
@ 2008-07-05 23:14                                 ` Kaveh R. Ghazi
  2008-07-06  4:34                                   ` Daniel Berlin
  2008-07-06  4:52                                   ` Ian Lance Taylor
  0 siblings, 2 replies; 37+ messages in thread
From: Kaveh R. Ghazi @ 2008-07-05 23:14 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Ian Lance Taylor, Andreas Tobler, gcc-patches

From: "Joel Brobecker" <brobecker@adacore.com>

>> Would it work to instead #poison isalpha et al in gcc/system.h?  Then
>> remove the check from safe-ctype.h altogether.
>
> I think it would work.  But why putting these pragmas outside of
> safe-ctype.h? How about putting them at the end of safe-ctype.h
> instead?

If you put the #poison statement in safe-ctype.h, then if you include
ctype.h after safe-ctype.h you'll get an error when ctype.h defines all its
macros, right?  I think this kinds of situation is what started the whole
thread.  I'm not sure even putting the #poison in system.h is safe, because
some header files may include ctype.h again, like the wchar.h problem you
originally reported.

I think the only thing that would be truly safe would be to include ctype.h
in system.h *before* safe-ctype.h.  Only then after including both files
would you #poison the isfoo macros.  At that point if any file tries to
reinclude ctype.h, the macro guards around that header should prevent the
file from being reparsed and then no #poison would trigger.  Whew!

Thoughts?
--Kaveh

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-05 23:14                                 ` Kaveh R. Ghazi
@ 2008-07-06  4:34                                   ` Daniel Berlin
  2008-07-06  4:52                                   ` Ian Lance Taylor
  1 sibling, 0 replies; 37+ messages in thread
From: Daniel Berlin @ 2008-07-06  4:34 UTC (permalink / raw)
  To: Kaveh R. Ghazi
  Cc: Joel Brobecker, Ian Lance Taylor, Andreas Tobler, gcc-patches

You guys broken darwin bootstrap
:(

In file included from /usr/include/_wctype.h:63,
                 from /usr/include/wchar.h:114,
                 from ../../gcc/intl.c:85:
/usr/include/ctype.h:230: error: syntax error before '{' token
/usr/include/ctype.h:236: error: syntax error before '{' token
/usr/include/ctype.h:248: error: syntax error before '{' token
/usr/include/ctype.h:255: error: syntax error before '{' token
/usr/include/ctype.h:261: error: syntax error before '{' token
/usr/include/ctype.h:267: error: syntax error before '{' token
/usr/include/ctype.h:273: error: syntax error before '{' token
/usr/include/ctype.h:279: error: syntax error before '{' token
/usr/include/ctype.h:285: error: syntax error before '{' token
/usr/include/ctype.h:291: error: syntax error before '{' token
/usr/include/ctype.h:298: error: syntax error before '{' token
/usr/include/ctype.h:310: error: syntax error before '{' token
/usr/include/ctype.h:316: error: syntax error before '{' token


On Sat, Jul 5, 2008 at 5:01 PM, Kaveh R. Ghazi <ghazi@caip.rutgers.edu> wrote:
> From: "Joel Brobecker" <brobecker@adacore.com>
>
>>> Would it work to instead #poison isalpha et al in gcc/system.h?  Then
>>> remove the check from safe-ctype.h altogether.
>>
>> I think it would work.  But why putting these pragmas outside of
>> safe-ctype.h? How about putting them at the end of safe-ctype.h
>> instead?
>
> If you put the #poison statement in safe-ctype.h, then if you include
> ctype.h after safe-ctype.h you'll get an error when ctype.h defines all its
> macros, right?  I think this kinds of situation is what started the whole
> thread.  I'm not sure even putting the #poison in system.h is safe, because
> some header files may include ctype.h again, like the wchar.h problem you
> originally reported.
>
> I think the only thing that would be truly safe would be to include ctype.h
> in system.h *before* safe-ctype.h.  Only then after including both files
> would you #poison the isfoo macros.  At that point if any file tries to
> reinclude ctype.h, the macro guards around that header should prevent the
> file from being reparsed and then no #poison would trigger.  Whew!
>
> Thoughts?
> --Kaveh
>
>

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-05 23:14                                 ` Kaveh R. Ghazi
  2008-07-06  4:34                                   ` Daniel Berlin
@ 2008-07-06  4:52                                   ` Ian Lance Taylor
  2008-07-07  5:41                                     ` Joel Brobecker
  1 sibling, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-06  4:52 UTC (permalink / raw)
  To: Kaveh R. Ghazi; +Cc: Joel Brobecker, Andreas Tobler, gcc-patches

"Kaveh R. Ghazi" <ghazi@caip.rutgers.edu> writes:

> From: "Joel Brobecker" <brobecker@adacore.com>
>
>>> Would it work to instead #poison isalpha et al in gcc/system.h?  Then
>>> remove the check from safe-ctype.h altogether.
>>
>> I think it would work.  But why putting these pragmas outside of
>> safe-ctype.h? How about putting them at the end of safe-ctype.h
>> instead?
>
> If you put the #poison statement in safe-ctype.h, then if you include
> ctype.h after safe-ctype.h you'll get an error when ctype.h defines all its
> macros, right?  I think this kinds of situation is what started the whole
> thread.  I'm not sure even putting the #poison in system.h is safe, because
> some header files may include ctype.h again, like the wchar.h problem you
> originally reported.
>
> I think the only thing that would be truly safe would be to include ctype.h
> in system.h *before* safe-ctype.h.  Only then after including both files
> would you #poison the isfoo macros.  At that point if any file tries to
> reinclude ctype.h, the macro guards around that header should prevent the
> file from being reparsed and then no #poison would trigger.  Whew!

You don't need to #poison the macros.  It suffices to include ctype.h
before safe-ctype.h, and then let safe-ctype.h redefine the macros as
it already does.  In fact, safe-ctype.h itself could include ctype.h
before redefining the macros.  Perhaps that is the simplest fix of
all.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-06  4:52                                   ` Ian Lance Taylor
@ 2008-07-07  5:41                                     ` Joel Brobecker
  2008-07-07  6:13                                       ` Ian Lance Taylor
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-07  5:41 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Kaveh R. Ghazi, Andreas Tobler, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 777 bytes --]

> You don't need to #poison the macros.  It suffices to include ctype.h
> before safe-ctype.h, and then let safe-ctype.h redefine the macros as
> it already does.  In fact, safe-ctype.h itself could include ctype.h
> before redefining the macros.  Perhaps that is the simplest fix of
> all.

Here is a new patch that implements that.

2008-07-07  Joel Brobecker  <brobecker@adacore.com>

        * safe-ctype.h: Add #include of ctype.h before redefining
        the ctype.h macros.

Bootstrapped on x86-linux. I also rebuilt and retested gdb on x86-linux.
Can someone confirm whether if fixes the issue on Darwin?

Thanks,
-- 
Joel

PS: If it takes much longer to fix the problem, I don't have any problem
    with removing my initial change until we find a complete solution.

[-- Attachment #2: safe-ctype.diff --]
[-- Type: text/plain, Size: 878 bytes --]

Index: safe-ctype.h
===================================================================
RCS file: /cvs/src/src/include/safe-ctype.h,v
retrieving revision 1.10
diff -u -p -r1.10 safe-ctype.h
--- safe-ctype.h	4 Jul 2008 17:11:29 -0000	1.10
+++ safe-ctype.h	6 Jul 2008 17:21:20 -0000
@@ -116,7 +116,9 @@ extern const unsigned char  _sch_tolower
    from ctype.h.  Initially, the approach was to produce an error when
    detecting that ctype.h has been included.  But this was causing
    trouble as ctype.h might get indirectly included as a result of
-   including another system header (for instance gnulib's stdint.h).  */
+   including another system header (for instance gnulib's stdint.h).
+   So we include ctype.h here and then immediately redefine its macros.  */
+#include <ctype.h>
 #undef isalpha
 #define isalpha(c) do_not_use_isalpha_with_safe_ctype
 #undef isalnum

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-07  5:41                                     ` Joel Brobecker
@ 2008-07-07  6:13                                       ` Ian Lance Taylor
  2008-07-07  9:22                                         ` Andreas Tobler
  0 siblings, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-07  6:13 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Kaveh R. Ghazi, Andreas Tobler, gcc-patches

Joel Brobecker <brobecker@adacore.com> writes:

>> You don't need to #poison the macros.  It suffices to include ctype.h
>> before safe-ctype.h, and then let safe-ctype.h redefine the macros as
>> it already does.  In fact, safe-ctype.h itself could include ctype.h
>> before redefining the macros.  Perhaps that is the simplest fix of
>> all.
>
> Here is a new patch that implements that.
>
> 2008-07-07  Joel Brobecker  <brobecker@adacore.com>
>
>         * safe-ctype.h: Add #include of ctype.h before redefining
>         the ctype.h macros.
>
> Bootstrapped on x86-linux. I also rebuilt and retested gdb on x86-linux.
> Can someone confirm whether if fixes the issue on Darwin?

This is OK if someone confirms that it fixes the problem on Darwin.

Thanks.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-07  6:13                                       ` Ian Lance Taylor
@ 2008-07-07  9:22                                         ` Andreas Tobler
  2008-07-07 17:22                                           ` Joel Brobecker
  0 siblings, 1 reply; 37+ messages in thread
From: Andreas Tobler @ 2008-07-07  9:22 UTC (permalink / raw)
  To: Ian Lance Taylor, Joel Brobecker; +Cc: Kaveh R. Ghazi, gcc-patches

Ian Lance Taylor wrote:
> Joel Brobecker <brobecker@adacore.com> writes:
> 
>>> You don't need to #poison the macros.  It suffices to include ctype.h
>>> before safe-ctype.h, and then let safe-ctype.h redefine the macros as
>>> it already does.  In fact, safe-ctype.h itself could include ctype.h
>>> before redefining the macros.  Perhaps that is the simplest fix of
>>> all.
>> Here is a new patch that implements that.
>>
>> 2008-07-07  Joel Brobecker  <brobecker@adacore.com>
>>
>>         * safe-ctype.h: Add #include of ctype.h before redefining
>>         the ctype.h macros.
>>
>> Bootstrapped on x86-linux. I also rebuilt and retested gdb on x86-linux.
>> Can someone confirm whether if fixes the issue on Darwin?
> 
> This is OK if someone confirms that it fixes the problem on Darwin.

I can confirm the bootstrap passed the failing stage, now building 
runtime libs.

Thank you Joel!

Andreas

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-07  9:22                                         ` Andreas Tobler
@ 2008-07-07 17:22                                           ` Joel Brobecker
  0 siblings, 0 replies; 37+ messages in thread
From: Joel Brobecker @ 2008-07-07 17:22 UTC (permalink / raw)
  To: Andreas Tobler; +Cc: Ian Lance Taylor, Kaveh R. Ghazi, gcc-patches

> >>2008-07-07  Joel Brobecker  <brobecker@adacore.com>
> >>
> >>        * safe-ctype.h: Add #include of ctype.h before redefining
> >>        the ctype.h macros.
> >>
> >>Bootstrapped on x86-linux. I also rebuilt and retested gdb on x86-linux.
> >>Can someone confirm whether if fixes the issue on Darwin?
> >
> >This is OK if someone confirms that it fixes the problem on Darwin.
> 
> I can confirm the bootstrap passed the failing stage, now building 
> runtime libs.

A big thank you to everyone. This patch is now in.

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-04  1:14             ` Joel Brobecker
  2008-07-04  3:22               ` Ian Lance Taylor
@ 2008-07-10 21:15               ` Aaron W. LaFramboise
  2008-07-10 21:59                 ` Ian Lance Taylor
  1 sibling, 1 reply; 37+ messages in thread
From: Aaron W. LaFramboise @ 2008-07-10 21:15 UTC (permalink / raw)
  To: Joel Brobecker; +Cc: Ian Lance Taylor, Kaveh R. GHAZI, gcc-patches, zack

Joel Brobecker wrote:

> 2008-07-03  Joel Brobecker  <brobecker@adacore.com>
> 
>         * safe-ctype.h: Remove #error when detecting that ctype.h has been
>         included. Redefine the various macros provided by ctype.h as
>         undefined variables.

This patch seems to cause an Ada build failure on i386-pc-mingw32, 
although I can't exactly figure out why.

Note that the Ada build is also broken on i386-pc-mingw32 because of 
PR36207.

gcc -c  -g -fkeep-inline-functions -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual     -fno-common  -DHAVE_CONFIG_H -I. -Iada -I../../svn/gcc -I../../svn/gcc/ada -I../../svn/gcc/../include -I./../intl -I../../svn/gcc/../libcpp/include -I/mingw/src/gmp-mpfr/root/include -I/mingw/src/gmp-mpfr/root/include -I../../svn/gcc/../libdecnumber -I../../svn/gcc/../libdecnumber/dpd -I../libdecnumber  ../../svn/gcc/ada/adaint.c -o ada/adaint.o
../../svn/gcc/ada/adaint.c: In function `__gnat_os_filename':
../../svn/gcc/ada/adaint.c:676: warning: passing arg 6 of `WideCharToMultiByte' makes integer from pointer without a cast
../../svn/gcc/ada/adaint.c: At top level:
../../svn/gcc/ada/adaint.c:671: warning: unused parameter 'filename'
../../svn/gcc/ada/adaint.c: In function `__gnat_get_libraries_from_registry':
../../svn/gcc/ada/adaint.c:1509: warning: cast discards qualifiers from pointer target type
../../svn/gcc/ada/adaint.c:1540: warning: passing arg 3 of `RegEnumValueA' from incompatible pointer type
../../svn/gcc/ada/adaint.c: In function `__gnat_stat':
../../svn/gcc/ada/adaint.c:1591: warning: passing arg 2 of `_wstat' from incompatible pointer type
../../svn/gcc/ada/adaint.c: In function `__gnat_is_absolute_path':
../../svn/gcc/ada/adaint.c:1645: error: `do_not_use_isalpha_with_safe_ctype' undeclared (first use in this function)
../../svn/gcc/ada/adaint.c:1645: error: (Each undeclared identifier is reported only once
../../svn/gcc/ada/adaint.c:1645: error: for each function it appears in.)
../../svn/gcc/ada/adaint.c: In function `__gnat_to_canonical_file_list_next':
../../svn/gcc/ada/adaint.c:2819: warning: cast discards qualifiers from pointer
target type

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-10 21:15               ` Aaron W. LaFramboise
@ 2008-07-10 21:59                 ` Ian Lance Taylor
  2008-07-10 22:20                   ` Kaveh R. GHAZI
  0 siblings, 1 reply; 37+ messages in thread
From: Ian Lance Taylor @ 2008-07-10 21:59 UTC (permalink / raw)
  To: Aaron W. LaFramboise; +Cc: Joel Brobecker, Kaveh R. GHAZI, gcc-patches, zack

"Aaron W. LaFramboise" <aaronavay62@aaronwl.com> writes:

> ../../svn/gcc/ada/adaint.c: In function `__gnat_is_absolute_path':
> ../../svn/gcc/ada/adaint.c:1645: error: `do_not_use_isalpha_with_safe_ctype' undeclared (first use in this function)
> ../../svn/gcc/ada/adaint.c:1645: error: (Each undeclared identifier is reported only once
> ../../svn/gcc/ada/adaint.c:1645: error: for each function it appears in.)

This is a correct error.  That line in adaint.c should use ISALPHA,
not isalpha.

Ian

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-10 21:59                 ` Ian Lance Taylor
@ 2008-07-10 22:20                   ` Kaveh R. GHAZI
  2008-07-13 19:01                     ` Joel Brobecker
  0 siblings, 1 reply; 37+ messages in thread
From: Kaveh R. GHAZI @ 2008-07-10 22:20 UTC (permalink / raw)
  To: Ian Lance Taylor; +Cc: Aaron W. LaFramboise, Joel Brobecker, gcc-patches, zack

On Thu, 10 Jul 2008, Ian Lance Taylor wrote:

> "Aaron W. LaFramboise" <aaronavay62@aaronwl.com> writes:
>
> > ../../svn/gcc/ada/adaint.c: In function `__gnat_is_absolute_path':
> > ../../svn/gcc/ada/adaint.c:1645: error: `do_not_use_isalpha_with_safe_ctype' undeclared (first use in this function)
> > ../../svn/gcc/ada/adaint.c:1645: error: (Each undeclared identifier is reported only once
> > ../../svn/gcc/ada/adaint.c:1645: error: for each function it appears in.)
>
> This is a correct error.  That line in adaint.c should use ISALPHA,
> not isalpha.
> Ian

I think adaint.c is used on both host and target, and libiberty isn't
available for the target files.  So you'll probably have to conditionalize
isalpha vs ISALPHA on #ifdef IN_RTS.

		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-10 22:20                   ` Kaveh R. GHAZI
@ 2008-07-13 19:01                     ` Joel Brobecker
  2008-07-15 19:48                       ` Olivier Hainque
  0 siblings, 1 reply; 37+ messages in thread
From: Joel Brobecker @ 2008-07-13 19:01 UTC (permalink / raw)
  To: Kaveh R. GHAZI; +Cc: Ian Lance Taylor, Aaron W. LaFramboise, gcc-patches, zack

> > > ../../svn/gcc/ada/adaint.c: In function `__gnat_is_absolute_path':
> > > ../../svn/gcc/ada/adaint.c:1645: error: `do_not_use_isalpha_with_safe_ctype' undeclared (first use in this function)
> > > ../../svn/gcc/ada/adaint.c:1645: error: (Each undeclared identifier is reported only once
> > > ../../svn/gcc/ada/adaint.c:1645: error: for each function it appears in.)
> >
> > This is a correct error.  That line in adaint.c should use ISALPHA,
> > not isalpha.
> > Ian
> 
> I think adaint.c is used on both host and target, and libiberty isn't
> available for the target files.  So you'll probably have to conditionalize
> isalpha vs ISALPHA on #ifdef IN_RTS.

I have asked someone at AdaCore who is more knowledgeable about GCC
to fix the problem. Monday is a statutory holiday in France, but this
should hopefully be fixed soon.

-- 
Joel

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-13 19:01                     ` Joel Brobecker
@ 2008-07-15 19:48                       ` Olivier Hainque
  2008-07-29 21:49                         ` Aaron W. LaFramboise
  0 siblings, 1 reply; 37+ messages in thread
From: Olivier Hainque @ 2008-07-15 19:48 UTC (permalink / raw)
  To: Joel Brobecker
  Cc: Kaveh R. GHAZI, Ian Lance Taylor, Aaron W. LaFramboise,
	gcc-patches, zack, hainque

[-- Attachment #1: Type: text/plain, Size: 808 bytes --]

Joel Brobecker wrote:
> > I think adaint.c is used on both host and target, and libiberty isn't
> > available for the target files.  So you'll probably have to conditionalize
> > isalpha vs ISALPHA on #ifdef IN_RTS.
> 
> I have asked someone at AdaCore [...] to fix the problem.

 I had a look with a cross environment, as I'm not well setup to
 experiment directly with mainline on the target right now and the
 situation looks pretty blocked at this stage.

 Here is an attempt from what I could observe and my understanding of
 the previous comments.

	ada/ 
	* adaint.c (__MINGW32__ section): Include ctype.h and define
	a fallback ISALPHA if IN_RTS.
	(__gnat_is_absolute_path): Use ISALPHA instead of isalpha. 

 Aaron, would it be possible for you to try it out ?

 Many thanks in advance,

 Olivier

 

[-- Attachment #2: mingw-isalpha.dif --]
[-- Type: text/plain, Size: 1101 bytes --]

Index: adaint.c
===================================================================
*** adaint.c	(revision 137840)
--- adaint.c	(working copy)
***************
*** 85,91 ****
--- 85,99 ----
  
  #include "mingw32.h"
  #include <sys/utime.h>
+ 
+ /* For isalpha-like tests in the compiler, we're expected to resort to
+    safe-ctype.h/ISALPHA.  This isn't available for the runtime library
+    build, so we fallback on ctype.h/isalpha there.  */
+ 
+ #ifdef IN_RTS
  #include <ctype.h>
+ #define ISALPHA isalpha
+ #endif
  
  #elif defined (__Lynx__)
  
*************** __gnat_is_absolute_path (char *name, int
*** 1642,1648 ****
    return (length != 0) &&
       (*name == '/' || *name == DIR_SEPARATOR
  #if defined (__EMX__) || defined (MSDOS) || defined (WINNT)
!       || (length > 1 && isalpha (name[0]) && name[1] == ':')
  #endif
  	  );
  #endif
--- 1650,1656 ----
    return (length != 0) &&
       (*name == '/' || *name == DIR_SEPARATOR
  #if defined (__EMX__) || defined (MSDOS) || defined (WINNT)
!       || (length > 1 && ISALPHA (name[0]) && name[1] == ':')
  #endif
  	  );
  #endif

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-15 19:48                       ` Olivier Hainque
@ 2008-07-29 21:49                         ` Aaron W. LaFramboise
  2008-07-30  2:12                           ` Olivier Hainque
  0 siblings, 1 reply; 37+ messages in thread
From: Aaron W. LaFramboise @ 2008-07-29 21:49 UTC (permalink / raw)
  To: Olivier Hainque
  Cc: Joel Brobecker, Kaveh R. GHAZI, Ian Lance Taylor, gcc-patches, zack

Olivier Hainque wrote:

>  Here is an attempt from what I could observe and my understanding of
>  the previous comments.
> 
> 	ada/ 
> 	* adaint.c (__MINGW32__ section): Include ctype.h and define
> 	a fallback ISALPHA if IN_RTS.
> 	(__gnat_is_absolute_path): Use ISALPHA instead of isalpha. 
> 
>  Aaron, would it be possible for you to try it out ?

Olivier, sorry to take so long to get back to you.  I see you've checked 
this in, and yes, it works.  Thanks!

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
  2008-07-29 21:49                         ` Aaron W. LaFramboise
@ 2008-07-30  2:12                           ` Olivier Hainque
  0 siblings, 0 replies; 37+ messages in thread
From: Olivier Hainque @ 2008-07-30  2:12 UTC (permalink / raw)
  To: Aaron W. LaFramboise
  Cc: Joel Brobecker, Kaveh R. GHAZI, Ian Lance Taylor, gcc-patches, hainque

Aaron W. LaFramboise wrote:
> Olivier, sorry to take so long to get back to you.

 No problem :)

> I see you've checked this in, and yes, it works.

 Great! 

>  Thanks!

 You're most welcome, thanks for your feedback.

 Cheers,

 Olivier

 

^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [RFA/RFC] Remove check of ctype.h include in safe-ctype.h?
@ 2008-07-05 14:16 Dominique Dhumieres
  0 siblings, 0 replies; 37+ messages in thread
From: Dominique Dhumieres @ 2008-07-05 14:16 UTC (permalink / raw)
  To: brobecker; +Cc: gcc-patches

I have filled PR36738 before noticing this thread.

Dominique

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2008-07-29 20:42 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-01  0:57 [RFA/RFC] Remove check of ctype.h include in safe-ctype.h? Joel Brobecker
2008-07-01  2:45 ` Kaveh R. GHAZI
2008-07-01  3:11   ` Kaveh R. GHAZI
2008-07-02  1:25   ` Ian Lance Taylor
2008-07-02 19:28     ` Joel Brobecker
2008-07-02 19:52       ` Ian Lance Taylor
2008-07-02 21:22         ` Joel Brobecker
2008-07-03 17:51         ` Joel Brobecker
2008-07-03 19:04           ` Ian Lance Taylor
2008-07-04  1:14             ` Joel Brobecker
2008-07-04  3:22               ` Ian Lance Taylor
2008-07-04 17:29                 ` Joel Brobecker
2008-07-04 20:25                   ` Andreas Tobler
2008-07-04 20:33                     ` Andreas Tobler
2008-07-04 21:22                       ` Joel Brobecker
2008-07-04 21:26                         ` Ian Lance Taylor
2008-07-04 21:22                       ` Ian Lance Taylor
2008-07-04 21:36                         ` Joel Brobecker
2008-07-04 22:26                         ` Joel Brobecker
2008-07-04 23:08                           ` Ian Lance Taylor
2008-07-05  1:23                             ` Kaveh R. Ghazi
2008-07-05 20:20                               ` Joel Brobecker
2008-07-05 23:14                                 ` Kaveh R. Ghazi
2008-07-06  4:34                                   ` Daniel Berlin
2008-07-06  4:52                                   ` Ian Lance Taylor
2008-07-07  5:41                                     ` Joel Brobecker
2008-07-07  6:13                                       ` Ian Lance Taylor
2008-07-07  9:22                                         ` Andreas Tobler
2008-07-07 17:22                                           ` Joel Brobecker
2008-07-10 21:15               ` Aaron W. LaFramboise
2008-07-10 21:59                 ` Ian Lance Taylor
2008-07-10 22:20                   ` Kaveh R. GHAZI
2008-07-13 19:01                     ` Joel Brobecker
2008-07-15 19:48                       ` Olivier Hainque
2008-07-29 21:49                         ` Aaron W. LaFramboise
2008-07-30  2:12                           ` Olivier Hainque
2008-07-05 14:16 Dominique Dhumieres

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).