codehelion-backend-clang 0.6.0

Out-of-process C and C++ compiler helper for codehelion.
codehelion-backend-clang-0.6.0 is not a library.

The C and C++ compiler helper: one program, one compiler, one protocol.

codehelion never links a compiler. This program does — through libclang's stable C interface, loaded when it starts rather than built into it — and talks to the tool over the length-prefixed protocol in codehelion-helper. A compiler that is not installed, will not load, or takes forever costs a scan its semantic answers about C and C++ and nothing else.

When there is no Clang to load

The program says which library is missing on its standard error and stops. That is the whole diagnosis: the client keeps what a helper printed before it went and reports it, so doctor shows the sentence naming what to install rather than a program that mysteriously would not talk. Answering the handshake and then refusing everything would be worse — it would look installed and working right up until a scan came back empty.

Control-flow graph evidence

libclang does not expose Clang's own CFG. When a fixed clang executable is installed, the helper separately invokes it in syntax-only mode with Clang's debug.DumpCFG checker. The compilation database supplies only arguments that have passed a read-only filter; it never supplies an executable, plugin, response file, or output path.

It also runs nothing out of a project, at any permission, and offers no execution class at all. A C++ project without a compilation database has one because a configure step would write it, and running that is running the project's own program — so this helper reports the files it cannot speak for rather than producing the database it would need.