Skip to content

Commit 86b3f85

Browse files
committed
[RISCV] Used Twine concatenation instead of format strings RISCVISAInfo.cpp. NFC
We were converting several StringRefs to std::strings then to char * so we could pass as %s to a format string. Use the Twine signature of createStringError instead.
1 parent a0b6747 commit 86b3f85

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

llvm/lib/Support/RISCVISAInfo.cpp

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -550,28 +550,25 @@ static Error getExtensionVersion(StringRef Ext, StringRef In, unsigned &Major,
550550
// Expected multi-character extension with version number to have no
551551
// subsequent characters (i.e. must either end string or be followed by
552552
// an underscore).
553-
if (Ext.size() > 1 && In.size()) {
554-
std::string Error =
555-
"multi-character extensions must be separated by underscores";
556-
return createStringError(errc::invalid_argument, Error);
557-
}
553+
if (Ext.size() > 1 && In.size())
554+
return createStringError(
555+
errc::invalid_argument,
556+
"multi-character extensions must be separated by underscores");
558557

559558
// If experimental extension, require use of current version number
560559
if (auto ExperimentalExtension = isExperimentalExtension(Ext)) {
561-
if (!EnableExperimentalExtension) {
562-
std::string Error = "requires '-menable-experimental-extensions' for "
563-
"experimental extension '" +
564-
Ext.str() + "'";
565-
return createStringError(errc::invalid_argument, Error);
566-
}
560+
if (!EnableExperimentalExtension)
561+
return createStringError(errc::invalid_argument,
562+
"requires '-menable-experimental-extensions' "
563+
"for experimental extension '" +
564+
Ext + "'");
567565

568566
if (ExperimentalExtensionVersionCheck &&
569-
(MajorStr.empty() && MinorStr.empty())) {
570-
std::string Error =
571-
"experimental extension requires explicit version number `" +
572-
Ext.str() + "`";
573-
return createStringError(errc::invalid_argument, Error);
574-
}
567+
(MajorStr.empty() && MinorStr.empty()))
568+
return createStringError(
569+
errc::invalid_argument,
570+
"experimental extension requires explicit version number `" + Ext +
571+
"`");
575572

576573
auto SupportedVers = *ExperimentalExtension;
577574
if (ExperimentalExtensionVersionCheck &&
@@ -826,12 +823,13 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
826823
if (StdExts.contains(C)) {
827824
return createStringError(
828825
errc::invalid_argument,
829-
"standard user-level extension not given in canonical order '%c'",
830-
C);
826+
"standard user-level extension not given in canonical order '" +
827+
Twine(C) + "'");
831828
}
832829

833830
return createStringError(errc::invalid_argument,
834-
"invalid standard user-level extension '%c'", C);
831+
"invalid standard user-level extension '" +
832+
Twine(C) + "'");
835833
}
836834

837835
// Move to next char to prevent repeated letter.
@@ -860,8 +858,8 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
860858
continue;
861859
}
862860
return createStringError(errc::invalid_argument,
863-
"unsupported standard user-level extension '%c'",
864-
C);
861+
"unsupported standard user-level extension '" +
862+
Twine(C) + "'");
865863
}
866864
ISAInfo->addExtension(StringRef(&C, 1), {Major, Minor});
867865

@@ -905,11 +903,9 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
905903
"invalid extension prefix '" + Ext + "'");
906904
}
907905

908-
if (!IgnoreUnknown && Name.size() == Type.size()) {
906+
if (!IgnoreUnknown && Name.size() == Type.size())
909907
return createStringError(errc::invalid_argument,
910-
"%s name missing after '%s'",
911-
Desc.str().c_str(), Type.str().c_str());
912-
}
908+
Desc + " name missing after '" + Type + "'");
913909

914910
unsigned Major, Minor, ConsumeLength;
915911
if (auto E = getExtensionVersion(Name, Vers, Major, Minor, ConsumeLength,
@@ -923,10 +919,9 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
923919
}
924920

925921
// Check if duplicated extension.
926-
if (!IgnoreUnknown && llvm::is_contained(AllExts, Name)) {
927-
return createStringError(errc::invalid_argument, "duplicated %s '%s'",
928-
Desc.str().c_str(), Name.str().c_str());
929-
}
922+
if (!IgnoreUnknown && llvm::is_contained(AllExts, Name))
923+
return createStringError(errc::invalid_argument,
924+
"duplicated " + Desc + " '" + Name + "'");
930925

931926
if (IgnoreUnknown && !isSupportedExtension(Name))
932927
continue;
@@ -941,8 +936,8 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
941936
for (auto Ext : AllExts) {
942937
if (!isSupportedExtension(Ext)) {
943938
StringRef Desc = getExtensionTypeDesc(getExtensionType(Ext));
944-
return createStringError(errc::invalid_argument, "unsupported %s '%s'",
945-
Desc.str().c_str(), Ext.str().c_str());
939+
return createStringError(errc::invalid_argument,
940+
"unsupported " + Desc + " '" + Ext + "'");
946941
}
947942
}
948943

0 commit comments

Comments
 (0)