forked from OSchip/llvm-project
Try to fix build after invalid pointer conversion.
llvm-svn: 284428
This commit is contained in:
parent
8716b3cbe0
commit
47e2c0a9cb
|
@ -31,6 +31,8 @@ enum class IntegerStyle {
|
|||
};
|
||||
enum class HexStyle { Upper, Lower, PrefixUpper, PrefixLower };
|
||||
|
||||
IntegerStyle hexStyleToIntHexStyle(HexStyle S);
|
||||
|
||||
size_t getDefaultPrecision(FloatStyle Style);
|
||||
size_t getDefaultPrecision(IntegerStyle Style);
|
||||
size_t getDefaultPrecision(HexStyle Style);
|
||||
|
|
|
@ -353,6 +353,20 @@ void llvm::write_double(raw_ostream &S, double N, FloatStyle Style,
|
|||
S << '%';
|
||||
}
|
||||
|
||||
IntegerStyle llvm::hexStyleToIntHexStyle(HexStyle S) {
|
||||
switch (S) {
|
||||
case HexStyle::Upper:
|
||||
return IntegerStyle::HexUpperNoPrefix;
|
||||
case HexStyle::Lower:
|
||||
return IntegerStyle::HexLowerNoPrefix;
|
||||
case HexStyle::PrefixUpper:
|
||||
return IntegerStyle::HexUpperPrefix;
|
||||
case HexStyle::PrefixLower:
|
||||
return IntegerStyle::HexLowerPrefix;
|
||||
}
|
||||
LLVM_BUILTIN_UNREACHABLE;
|
||||
}
|
||||
|
||||
size_t llvm::getDefaultPrecision(FloatStyle Style) {
|
||||
switch (Style) {
|
||||
case FloatStyle::Exponent:
|
||||
|
|
|
@ -36,8 +36,8 @@ template <typename T>
|
|||
typename std::enable_if<std::is_pointer<T>::value, std::string>::type
|
||||
format_number(T N, HexStyle Style, Optional<size_t> Precision = None,
|
||||
Optional<int> Width = None) {
|
||||
|
||||
return format_number(reinterpret_cast<uintptr_t>(N), Style, Precision, Width);
|
||||
IntegerStyle IS = hexStyleToIntHexStyle(Style);
|
||||
return format_number(reinterpret_cast<uintptr_t>(N), IS, Precision, Width);
|
||||
}
|
||||
|
||||
std::string format_number(unsigned long N, IntegerStyle Style,
|
||||
|
|
Loading…
Reference in New Issue