Re: usage of reserved C++-keyword in cthreads.h
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.
Reply to: