LLVMdev Digest, Vol 75, Issue 36

hmmm, that reply seems to miss the point, C is an "ok" language for writing OSs in,
but a terrible language to write compilers in, C++ with STL is a much better choice
for writing compilers (hence why I for one have switched from doing compiler work
in GCC to doing it in LLVM). I would recommend abandoning the C interface for
LLVM, you're only helping people do lesser quality work than they could do otherwise.
There was a time when C++/STL wasn't mature and not everywhere available, and you
would have more stability using plain C, but that time has long since past.

Peter Lawrence. San Jose, CA.

As I understand it, there are two goals of the C API, neither of which is
allow people to write compilers specifically in C. The first is to provide
a stable, forward-binary-compatible API, which might as well be written
in C since it shouldn't encode any structure layout at all; the guarantee of
eternal support is why we don't add new features to this API lightly.
The second is to support bindings to other languages, which are far
more likely to have a FFI to C than they are to C++.