[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: