[llvm] [Support] Resolve symlinks in `getMainExecutable()` on Windows (PR #76304)
Alexandre Ganea via llvm-commits
llvm-commits at lists.llvm.org
Sun Dec 24 10:54:12 PST 2023
================
@@ -154,7 +154,10 @@ std::string getMainExecutable(const char *argv0, void *MainExecAddr) {
return "";
llvm::sys::path::make_preferred(PathNameUTF8);
- return std::string(PathNameUTF8.data());
+
+ SmallString<256> RealPath;
+ sys::fs::real_path(PathNameUTF8, RealPath);
+ return (std::string)RealPath;
----------------
aganea wrote:
> Please use `.str()` rather than a C-style cast.
I used `(std::string)` because `SmallString` has a `explicit operator std::string() const`.
You meant I should use `RealPath.str().str()`? (first `.str()` gives a `StringRef`, the second a `std::string`).
https://github.com/llvm/llvm-project/pull/76304
More information about the llvm-commits
mailing list