[clangd] Add platform triple (host & target) to version info
Useful in logs to understand issues around some platforms we don't have much
experience with (e.g. m1, mingw)
Differential Revision: https://reviews.llvm.org/D105681
diff --git a/clang-tools-extra/clangd/Features.cpp b/clang-tools-extra/clangd/Features.cpp
index 4ec03ea..d7fba42 100644
--- a/clang-tools-extra/clangd/Features.cpp
+++ b/clang-tools-extra/clangd/Features.cpp
@@ -9,12 +9,26 @@
#include "Features.h"
#include "clang/Basic/Version.h"
#include "llvm/Support/Compiler.h"
+#include "llvm/Support/Host.h"
namespace clang {
namespace clangd {
std::string versionString() { return clang::getClangToolFullVersion("clangd"); }
+std::string platformString() {
+ static std::string PlatformString = []() {
+ std::string Host = llvm::sys::getProcessTriple();
+ std::string Target = llvm::sys::getDefaultTargetTriple();
+ if (Host != Target) {
+ Host += "; target=";
+ Host += Target;
+ }
+ return Host;
+ }();
+ return PlatformString;
+}
+
std::string featureString() {
return
#if defined(_WIN32)