pub enum FloatError {
Integer,
InvalidSuffix,
MissingExponent,
NoExponentDigits,
NoDigits,
TooManyPoints,
DecimalFloat,
UnsupportedType,
}Expand description
Why a preprocessing number is not a floating constant.
FloatError::Integer is not a diagnostic, in the same way IntError::Floating is not:
it means the spelling belongs to the other path.
Variants§
Integer
This is an integer constant. Nothing is wrong with it.
InvalidSuffix
The characters after the number are not a suffix.
MissingExponent
A hexadecimal floating constant with no p exponent. The exponent is required there and
not optional as it is in a decimal one, because f is a hexadecimal digit and there
would be no way to tell a suffix from the number.
NoExponentDigits
An e or a p with no digits after it.
NoDigits
A constant with a point and no digits at all.
TooManyPoints
More than one point, which is a preprocessing number and not a constant.
DecimalFloat
A df, dd or dl suffix. The constant is well formed and this compiler has nowhere
to put a decimal floating value yet.
UnsupportedType
A suffix naming a type this target does not have, which is w anywhere but x86, f128x
everywhere, and f16, f128, q and f64x on the machines that have no such type.