Hello all! I have made some more attempts to compile (not yet link!) the run-translater using C++. In difference to what I said before, it is not just hurd, but also other packages that prevent this, namely libc0.2 and gnumach. Therefore, I won't just sit still and wait for pthreads.
Summary of problems: A) In some inlined functions, pointers where cast to void* before being assigned to a somestruct*. I wonder why the cast to void*? I admit that I didn't check what exact type they where before, but doesn't it work just the same and is clearer to directly cast them to somestruct* ? C++ refuses implicit type-conversions that are not safe and this doesn't compile therefore. B) There was one case (in cthreads.h) where 'catch' was used as identifier, additionally, there where quite some cases where 'class' was used (in ports.h). C) While not important for using the headers, I found local functions in some C-files. In fact I first triple-checked that that was really the case, because I thought that local functions where forbidden in C as in C++. Can someone clarify me if that is rather new and standard C? D) trivfs uses some hook-function-pointers that the user can set to their own functions. I have been trying for an hour or so to get the right syntax for one of those but failed. I still don't understand the error-messages g++ gave me if necessary, I will provide more facts later, I don't have the GNU/Hurd grazing on my LAN currently. E) There where some casts from int to an enumeration. Again, C++ requires those to be done explicitly. To be honest, I underestimated the amount of changes it takes to postincrement the C-headers. Maybe the proposal from Kimmo K. I. Surakka might be a better start. However, as he already said, this doesn't solve implicit conversions of void* or enum. Pondering over that, I just started to wonder if one couldn't #pragma the compiler to do what one wants, any gcc-expert here ? uli ps. I am going on holidays and will not read any mails until around 2002-03-07 and I am subscribed to this list no need for CCs.

