Date: Sun, 22 Aug 1999 16:26:57 -0700 From: Thimble Smith <tim@desert.net> To: FreeBSD Support List <freebsd-questions@freebsd.org> Subject: ctype.h: #define _T 0x00100000L: how should it work? Message-ID: <19990822162657.A14046@desert.net>
next in thread | raw e-mail | index | archive | help
Hi. I'm compiling omniORB2, which has the following code:
/* in file initFile.cc */
#include <ctype.h>
/* ... now in another #included header, bootstrap.hh */
class ObjIdList_var {
public:
typedef ObjIdList _T;
typedef ObjIdList_var _T_var;
There are other places where the _T typedef is used. ctype.h
has this definition:
#define _T 0x00100000L /* Special */
This obviously causes parse errors when I try to compile. I can
easily fix this by adding #undef _T after every include of ctype.h.
There are other tricks that might be more elegant. But I would
like to really fix things. I guess I have 3 questions.
1) Who is right? Is it proper for omniORB to be using _T in their
code? Or is it right for FreeBSD to have _T defined in ctype.h?
Or both, somehow?
2) What, in the short term, is the best way to fix the problem? I
could add #ifdef SOME_IDENTIFIER ... #endif around that block of
#defines in ctype.h. I could add #undefs to the omniORB2 source
code. What have other people done for this type of thing?
3) What is the best long-term solution?
Thanks for any help,
Tim
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990822162657.A14046>
