From 4227022673d0cbd155ea708b3e276ab95635e6fe Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Thu, 18 Jul 2013 21:38:44 +0000 Subject: [PATCH] [PECOFF] Use replace_extension() instead of doing it myself. llvm-svn: 186612 --- lld/lib/Driver/WinLinkDriver.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lld/lib/Driver/WinLinkDriver.cpp b/lld/lib/Driver/WinLinkDriver.cpp index 873dfb1..0eff1b2 100644 --- a/lld/lib/Driver/WinLinkDriver.cpp +++ b/lld/lib/Driver/WinLinkDriver.cpp @@ -15,6 +15,7 @@ #include +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/Option/Arg.h" #include "llvm/Option/Option.h" @@ -175,11 +176,10 @@ StringRef canonicalizeInputFileName(PECOFFTargetInfo &info, std::string path) { // Replace a file extension with ".exe". If the given file has no // extension, just add ".exe". -StringRef getDefaultOutputFileName(PECOFFTargetInfo &info, std::string path) { - StringRef ext = llvm::sys::path::extension(path); - if (!ext.empty()) - path.erase(path.size() - ext.size()); - return info.allocateString(path.append(".exe")); +StringRef getDefaultOutputFileName(PECOFFTargetInfo &info, StringRef path) { + SmallString<128> smallStr = path; + llvm::sys::path::replace_extension(smallStr, ".exe"); + return info.allocateString(smallStr.str()); } } // namespace -- 2.7.4