diff --git a/lib/MC/MCContext.cpp b/lib/MC/MCContext.cpp index d3c4fb1d7ca..b535b3e6e94 100644 --- a/lib/MC/MCContext.cpp +++ b/lib/MC/MCContext.cpp @@ -274,11 +274,11 @@ unsigned MCContext::GetDwarfFile(StringRef Directory, StringRef FileName, if (Directory.empty()) { // Separate the directory part from the basename of the FileName. - std::pair Slash = FileName.rsplit('/'); - Directory = Slash.second; - if (!Directory.empty()) { - Directory = Slash.first; - FileName = Slash.second; + StringRef tFileName = sys::path::filename(FileName); + if (!tFileName.empty()) { + Directory = sys::path::parent_path(FileName); + if (!Directory.empty()) + FileName = sys::path::filename(FileName); } }