Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Nov 1999 20:33:04 -0800 (PST)
From:      tomoaki@biol.s.u-tokyo.ac.jp
To:        freebsd-gnats-submit@freebsd.org
Subject:   misc/15127: _T is defined in ctype.h and breaks c++ library using "typename _T..."
Message-ID:  <19991128043304.AF32D14DD8@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         15127
>Category:       misc
>Synopsis:       _T is defined in ctype.h and breaks c++ library using "typename _T..."
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Nov 27 20:40:01 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     Tomoaki NISHIYAMA
>Release:        FreeBSD-3.3 RELEASE
>Organization:
The University of Tokyo
>Environment:
FreeBSD koke.nibb.ac.jp 3.3-RELEASE FreeBSD 3.3-RELEASE #0: Sun Nov 14 22:56:39 JST 1999     tomoaki@koke.nibb.ac.jp:/usr/src/sys/compile/PH  i386

>Description:
ctype.h defines _T as 
#define _T      0x00100000L             /* Special */
and leave it defined.
Many c++ codes including libstdc++ uses the identifier _T, which will
be confused by this #define.
>How-To-Repeat:
$ cat test.c
#include <ctype.h>
_T
$ cc -E test.c |tail -1
0x00100000L 

>Fix:
#undef _T and other unnecessary defines before returning from the header.
--- ctype.h.orig        Sun Nov 28 13:21:05 1999
+++ ctype.h     Sun Nov 28 13:23:28 1999
@@ -179,4 +179,18 @@
 __END_DECLS
 #endif /* using inlines */
 
+#undef _A
+#undef _C
+#undef _D
+#undef _G
+#undef _L
+#undef _P
+#undef _S
+#undef _U
+#undef _X
+#undef _B
+#undef _R
+#undef _I
+#undef _T
+#undef _Q
 #endif /* !_CTYPE_H_ */


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991128043304.AF32D14DD8>