Please report new issues athttps://github.com/DOCGroup
The following is a paraphrase of some email exchanged between myself and Jonathan Biggar <jon@floorboard.com>. ACE needs to be changed so that when it is compiled with a compiler that supports the new C++ standard headers, they are used instead of the old ".h" headers. These headers are: OLD NEW ----------------------- stdef.h cstddef limits.h climits float.h cfloat stdlib.h cstdlib stdarg.h cstdarg time.h ctime setjmp.h csetjmp signal.h csignal assert.h cassert errno.h cerrno ctype.h cctype wctype.h cwctype string.h cstring wchar.h cwchar locale.h clocale math.h cmath stdio.h cstdio These includes aren't properly checked against ACE_STANDARD_CPP_LIBRARY and pollute the namespace (from ACE 4.6.25): OS.h:1101:# include /**/ <time.h> OS.h:2477:# include /**/ <stdarg.h> OS.h:2479:# include /**/ <assert.h> OS.h:2480:# include /**/ <stdio.h> OS.h:2491:# include /**/ <new.h> OS.h:2492:# include /**/ <signal.h> OS.h:2493:# include /**/ <errno.h> OS.h:2497:# include /**/ <limits.h> OS.h:2498:# include /**/ <ctype.h> OS.h:2499:# include /**/ <string.h> OS.h:2500:# include /**/ <stdlib.h> OS.h:2501:# include /**/ <float.h> OS.i:426:# include /**/ <string.h> OS.i:428:# include /**/ <memory.h>
Irfan knows how to deal with this problem. Notice that there are more an more platforms affected by it.
One of these days, we'll fix this. BTW, the priority of this may increase if the need to properly support the new standard C++ library increases.
Others are better qualified to work on this.
Accepting for tao-support.
We might want to check with Don Hinton to see if his recent changes address this issue in any way.
Some extra info. I will try to handle this asap. On Saturday, 1 January, 2005 at 20:53:51 +0100, Johnny Willemsen wrote: [...] > I found the following bug entry but this talks about > ACE_STANDARD_CPP_LIBRARY but I can't find that define in ACE. > > http://deuce.doc.wustl.edu/bugzilla/0 The bugzilla entry implies AFAIK ACE_HAS_STANDARD_CPP_LIBRARY. A check against the above define would be good. > Anyone an idea? Maybe we have to introduce a new define, ok for me, > but which one. Then I am willing to update things for bugzilla 193 > also. I think the above will suffice. It would be something like this #if defined (ACE_HAS_STANDARD_CPP_LIBRARY) # include /**/ <limits> #else /* ACE_HAS_STANDARD_CPP_LIBRARY*/ # include /**/ <limits.h> #endif /**/ It would also be a good time to prevent namespace pollution. Please see http://deuce.doc.wustl.edu/bugzilla/1 for details. This needs to be fixed too. Thanks Bala
accept
reassign back to pool, will not have time to work on this soon.