From 1def2579e10dd84405465f403e8c31acebff0c97 Mon Sep 17 00:00:00 2001 From: David Blaikie Date: Thu, 8 Jul 2021 13:30:14 -0700 Subject: PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 C++23 will make these conversions ambiguous - so fix them to make the codebase forward-compatible with C++23 (& a follow-up change I've made will make this ambiguous/invalid even in CanonicalNameBuf; if (!FS->getRealPath(Dir->getName(), CanonicalNameBuf)) - CanonicalName = StringRef(CanonicalNameBuf).copy(CanonicalNameStorage); + CanonicalName = CanonicalNameBuf.str().copy(CanonicalNameStorage); CanonicalNames.insert({Dir, CanonicalName}); return CanonicalName; @@ -627,7 +627,7 @@ StringRef FileManager::getCanonicalName(const FileEntry *File) { SmallString<4096> CanonicalNameBuf; if (!FS->getRealPath(File->getName(), CanonicalNameBuf)) - CanonicalName = StringRef(CanonicalNameBuf).copy(CanonicalNameStorage); + CanonicalName = CanonicalNameBuf.str().copy(CanonicalNameStorage); CanonicalNames.insert({File, CanonicalName}); return CanonicalName; -- cgit v1.1