Skip to content

Commit

Permalink
Revert "Resubmit "Add support for advanced number formatting.""
Browse files Browse the repository at this point in the history
This reverts commits 284436 and 284437 because they still break AArch64 bots:

Value of: format_number(-10, IntegerStyle::Integer, 1)
  Actual: "-0"
  Expected: "-10"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284462 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
rengolin committed Oct 18, 2016
1 parent 1ba4231 commit 8bb4ccc
Show file tree
Hide file tree
Showing 5 changed files with 100 additions and 724 deletions.
57 changes: 11 additions & 46 deletions include/llvm/Support/NativeFormatting.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,57 +10,22 @@
#ifndef LLVM_SUPPORT_NATIVE_FORMATTING_H
#define LLVM_SUPPORT_NATIVE_FORMATTING_H

#include "llvm/ADT/Optional.h"
#include "llvm/Support/raw_ostream.h"

#include <cstdint>

namespace llvm {
enum class FloatStyle { Exponent, ExponentUpper, Fixed, Percent };
enum class IntegerStyle {
Exponent,
ExponentUpper,
Integer,
Fixed,
Number,
Percent,
HexUpperPrefix,
HexUpperNoPrefix,
HexLowerPrefix,
HexLowerNoPrefix
};
enum class HexPrintStyle { Upper, Lower, PrefixUpper, PrefixLower };

IntegerStyle hexStyleToIntHexStyle(HexPrintStyle S);

size_t getDefaultPrecision(FloatStyle Style);
size_t getDefaultPrecision(IntegerStyle Style);
size_t getDefaultPrecision(HexPrintStyle Style);

void write_integer(raw_ostream &S, unsigned int N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
void write_integer(raw_ostream &S, int N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
void write_integer(raw_ostream &S, unsigned long N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
void write_integer(raw_ostream &S, long N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
void write_integer(raw_ostream &S, unsigned long long N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
void write_integer(raw_ostream &S, long long N, IntegerStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);

void write_hex(raw_ostream &S, uint64_t N, HexPrintStyle Style,
Optional<size_t> Precision = None, Optional<int> Width = None);
void write_double(raw_ostream &S, double D, FloatStyle Style,
Optional<size_t> Precision = None,
Optional<int> Width = None);
enum class FloatStyle { Exponent, Decimal };

void write_ulong(raw_ostream &S, unsigned long N, std::size_t MinWidth);
void write_long(raw_ostream &S, long N, std::size_t MinWidth);
void write_ulonglong(raw_ostream &S, unsigned long long N,
std::size_t MinWidth);
void write_longlong(raw_ostream &S, long long N, std::size_t MinWidth);
void write_hex(raw_ostream &S, unsigned long long N, std::size_t MinWidth,
bool Upper, bool Prefix);
void write_double(raw_ostream &S, double D, std::size_t MinWidth,
std::size_t MinDecimals, FloatStyle Style);
}

#endif
Loading

0 comments on commit 8bb4ccc

Please sign in to comment.