@@ -550,28 +550,25 @@ static Error getExtensionVersion(StringRef Ext, StringRef In, unsigned &Major,
550
550
// Expected multi-character extension with version number to have no
551
551
// subsequent characters (i.e. must either end string or be followed by
552
552
// 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" );
558
557
559
558
// If experimental extension, require use of current version number
560
559
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 + " '" );
567
565
568
566
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
+ " `" );
575
572
576
573
auto SupportedVers = *ExperimentalExtension;
577
574
if (ExperimentalExtensionVersionCheck &&
@@ -826,12 +823,13 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
826
823
if (StdExts.contains (C)) {
827
824
return createStringError (
828
825
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) + " ' " );
831
828
}
832
829
833
830
return createStringError (errc::invalid_argument,
834
- " invalid standard user-level extension '%c'" , C);
831
+ " invalid standard user-level extension '" +
832
+ Twine (C) + " '" );
835
833
}
836
834
837
835
// Move to next char to prevent repeated letter.
@@ -860,8 +858,8 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
860
858
continue ;
861
859
}
862
860
return createStringError (errc::invalid_argument,
863
- " unsupported standard user-level extension '%c' " ,
864
- C );
861
+ " unsupported standard user-level extension '" +
862
+ Twine (C) + " ' " );
865
863
}
866
864
ISAInfo->addExtension (StringRef (&C, 1 ), {Major, Minor});
867
865
@@ -905,11 +903,9 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
905
903
" invalid extension prefix '" + Ext + " '" );
906
904
}
907
905
908
- if (!IgnoreUnknown && Name.size () == Type.size ()) {
906
+ if (!IgnoreUnknown && Name.size () == Type.size ())
909
907
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 + " '" );
913
909
914
910
unsigned Major, Minor, ConsumeLength;
915
911
if (auto E = getExtensionVersion (Name, Vers, Major, Minor, ConsumeLength,
@@ -923,10 +919,9 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
923
919
}
924
920
925
921
// 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 + " '" );
930
925
931
926
if (IgnoreUnknown && !isSupportedExtension (Name))
932
927
continue ;
@@ -941,8 +936,8 @@ RISCVISAInfo::parseArchString(StringRef Arch, bool EnableExperimentalExtension,
941
936
for (auto Ext : AllExts) {
942
937
if (!isSupportedExtension (Ext)) {
943
938
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 + " ' " );
946
941
}
947
942
}
948
943
0 commit comments