I propose that ctype.h not define _T,
but instead define _CTYPE_T. Other two letter macros
also should be changed likewise.

Definition of such macro by the system are perhaps allowed by the
standard, but its better not to define such macros.
One reason is that the STL code included in stdlibc++
currently uses _T as local identifier. This code will be broken
by the macro in ctype.h. To change the situation one can change
the c++ codes. Another way is to change the macro in ctype.h.
Both action can be taken at the same time.

The other reason is that it is not good to polute the global
namespace by just a part of the system. One does not expect
that _T is defined in ctype.h. But if the macro were _CTYPE_T
it is easier to come to the idea that it might be defined
in ctype.h.
-- 
Tomoaki Nishiyama
  e-mail:[EMAIL PROTECTED]
         Department of Biological Sciences,
Graduate School of Science, The University of Tokyo


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to