3 ms·
Says clang isn't a toolsmith’s compiler. Doesn't mention clangd. Hmmm. Even Apple switched from libclang to clangd. https://lists.llvm.org/pipermail/cfe-dev/20
by CalChris 3y ago
Says clang isn't a toolsmith’s compiler. Doesn't mention clangd. Hmmm. Even Apple switched from libclang to clangd.
https://lists.llvm.org/pipermail/cfe-dev/2018-April/057668.html https://lists.llvm.org/pipermail/cfe-dev/2018-April/057668.h...
- Ericson2314 3y agolibclang is a library, clangd is an executable. That post is about switching away from libclang-based tooling infrastructure; i.e. stop developing their own tool. There differences in C wrapper vs C++ are superficial and not what this blog post is about. The problems are rather with the poor division of labor between the intermediate represents and the lies that they are properly self-contained. This is about what clang does, irrespective of whether one slaps a C interface on top or not.
- CalChris 3y agoYou wouldn't 'execute' clangd. You would send it messages adhering to its Language Server Protocol [1]. The distinction between library API and server API is small. Moreover, Apple switched away from libclang-based tooling towards clangd. [1] https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ https://microsoft.github.io/language-server-protocol/specifi...
- tyg13 3y agoI can't tell if you're trying to split hairs or just being unintentionally obtuse. How do you propose sending clangd messages without executing it, i.e. starting the language server?