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>