| author | |
| committer | |
| log | c5716715d5e7d7a5eae76df77ed538a48d22f0ba |
| tree | 07ceaa9ed53b8005b1e18a793857293dd90c7bfa |
| parent | a11c20e26a6efd977656459710ae3d37fcbb2846 |
- bug presented on FreeBSD when `/proc` filesystem is not mounted
- bogus `cc` was used as exename, causing incorrect executable spawn
- llvm::sys::fs::getMainExecutable() has platform-specific code
to get exename and fallback is to use param argv0
- linux fallback is rare because `/proc` is usually mounted
- *BSD fallback is not rare because `/proc` is often not mounted
- macOS doesn't ever fallback: bug cannot present
- windows doesn't ever fallback: bug cannot present
- other Posix will always present1 files changed, 1 insertions(+), 1 deletions(-)
src/zig_clang_driver.cpp+1-1| ... | @@ -421,7 +421,7 @@ int ZigClang_main(int argc_, const char **argv_) { | ... | @@ -421,7 +421,7 @@ int ZigClang_main(int argc_, const char **argv_) { |
| 421 | ApplyQAOverride(argv, OverrideStr, SavedStrings); | 421 | ApplyQAOverride(argv, OverrideStr, SavedStrings); |
| 422 | } | 422 | } |
| 423 | 423 | ||
| 424 | std::string Path = GetExecutablePath(argv[0], CanonicalPrefixes); | 424 | std::string Path = GetExecutablePath(argv_[0], CanonicalPrefixes); |
| 425 | 425 | ||
| 426 | IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = | 426 | IntrusiveRefCntPtr<DiagnosticOptions> DiagOpts = |
| 427 | CreateAndPopulateDiagOpts(argv); | 427 | CreateAndPopulateDiagOpts(argv); |