@@ -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