Move 'hasValidLengthModifier' from PrintfFormatSpecifier to FormatSpecifier.
llvm-svn: 108906
This commit is contained in:
@@ -562,74 +562,6 @@ bool PrintfSpecifier::hasValidLeftJustified() const {
|
||||
}
|
||||
}
|
||||
|
||||
bool PrintfSpecifier::hasValidLengthModifier() const {
|
||||
switch (LM.getKind()) {
|
||||
case LengthModifier::None:
|
||||
return true;
|
||||
|
||||
// Handle most integer flags
|
||||
case LengthModifier::AsChar:
|
||||
case LengthModifier::AsShort:
|
||||
case LengthModifier::AsLongLong:
|
||||
case LengthModifier::AsIntMax:
|
||||
case LengthModifier::AsSizeT:
|
||||
case LengthModifier::AsPtrDiff:
|
||||
switch (CS.getKind()) {
|
||||
case ConversionSpecifier::dArg:
|
||||
case ConversionSpecifier::iArg:
|
||||
case ConversionSpecifier::oArg:
|
||||
case ConversionSpecifier::uArg:
|
||||
case ConversionSpecifier::xArg:
|
||||
case ConversionSpecifier::XArg:
|
||||
case ConversionSpecifier::nArg:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
// Handle 'l' flag
|
||||
case LengthModifier::AsLong:
|
||||
switch (CS.getKind()) {
|
||||
case ConversionSpecifier::dArg:
|
||||
case ConversionSpecifier::iArg:
|
||||
case ConversionSpecifier::oArg:
|
||||
case ConversionSpecifier::uArg:
|
||||
case ConversionSpecifier::xArg:
|
||||
case ConversionSpecifier::XArg:
|
||||
case ConversionSpecifier::aArg:
|
||||
case ConversionSpecifier::AArg:
|
||||
case ConversionSpecifier::fArg:
|
||||
case ConversionSpecifier::FArg:
|
||||
case ConversionSpecifier::eArg:
|
||||
case ConversionSpecifier::EArg:
|
||||
case ConversionSpecifier::gArg:
|
||||
case ConversionSpecifier::GArg:
|
||||
case ConversionSpecifier::nArg:
|
||||
case ConversionSpecifier::cArg:
|
||||
case ConversionSpecifier::sArg:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
case LengthModifier::AsLongDouble:
|
||||
switch (CS.getKind()) {
|
||||
case ConversionSpecifier::aArg:
|
||||
case ConversionSpecifier::AArg:
|
||||
case ConversionSpecifier::fArg:
|
||||
case ConversionSpecifier::FArg:
|
||||
case ConversionSpecifier::eArg:
|
||||
case ConversionSpecifier::EArg:
|
||||
case ConversionSpecifier::gArg:
|
||||
case ConversionSpecifier::GArg:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool PrintfSpecifier::hasValidPrecision() const {
|
||||
if (Precision.getHowSpecified() == OptionalAmount::NotSpecified)
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user