On 31 January 2011 09:38, Andrew Haley wrote: > On 01/29/2011 08:51 PM, Enrico Weigelt wrote: >> >> * Jonathan Wakely<jwakely.gcc@xxxxxxxxx> wrote: >>> >>> On 3 January 2011 05:37, Enrico Weigelt wrote: >>>> >>>> Hi folks, >>>> >>>> >>>> is it somehow possible to let the C-compiler include some type >>>> information into symbol names (as IMHO done for C++) ? >>> >>> I don't think so. >> >> hmm. where should I start if I wanted to add that ? >> >>>> If not, what would have to be done for that ? >>> >>> Use a C++ compiler. >> >> hmm, maybe that's worth a try, but I doubt that all plain-C code >> will compile fine then. > > It will be very close. One really good use of C++ is as C with > type-safe linkage. Annex C of the C++ standard lists incompatibilities between C and C++. Among the commonly-used C features which won't work in C++ are: Implicit conversions from integer types to enum types. Implicit conversions from void* to other pointer types, which most often causes problems in malloc statements: Valid in C but not in C++: char* buf = malloc(sz); Valid in C and C++: char* buf = (char*) malloc(sz); C++ has additional keywords, so 'new' is not a valid identifier in C++