diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -4675,6 +4675,8 @@ std::string::size_type End = std::string::npos; if (!types::appendSuffixForType(JA.getType())) End = BaseName.rfind('.'); + if (End == StringRef::npos) + End = BaseName.size(); SmallString<128> Suffixed(BaseName.substr(0, End)); Suffixed += OffloadingPrefix; if (MultipleArchs && !BoundArch.empty()) {