mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-11-01 00:17:01 +00:00
raw_ostream::indent is used for PadToColumn which often prints more
than 16 spaces. Make the Spaces array wide enough to handle common cases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79890 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
#include "llvm/Config/config.h"
|
#include "llvm/Config/config.h"
|
||||||
#include "llvm/Support/Compiler.h"
|
#include "llvm/Support/Compiler.h"
|
||||||
#include "llvm/Support/ErrorHandling.h"
|
#include "llvm/Support/ErrorHandling.h"
|
||||||
|
#include "llvm/ADT/STLExtras.h"
|
||||||
#include "llvm/ADT/StringExtras.h"
|
#include "llvm/ADT/StringExtras.h"
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -298,14 +299,16 @@ raw_ostream &raw_ostream::operator<<(const format_object_base &Fmt) {
|
|||||||
|
|
||||||
/// indent - Insert 'NumSpaces' spaces.
|
/// indent - Insert 'NumSpaces' spaces.
|
||||||
raw_ostream &raw_ostream::indent(unsigned NumSpaces) {
|
raw_ostream &raw_ostream::indent(unsigned NumSpaces) {
|
||||||
const char *Spaces = " ";
|
static const char Spaces[] = " "
|
||||||
|
" "
|
||||||
|
" ";
|
||||||
|
|
||||||
// Usually the indentation is small, handle it with a fastpath.
|
// Usually the indentation is small, handle it with a fastpath.
|
||||||
if (NumSpaces <= 16)
|
if (NumSpaces <= array_lengthof(Spaces))
|
||||||
return write(Spaces, NumSpaces);
|
return write(Spaces, NumSpaces);
|
||||||
|
|
||||||
while (NumSpaces) {
|
while (NumSpaces) {
|
||||||
unsigned NumToWrite = std::min(NumSpaces, 16U);
|
unsigned NumToWrite = std::min(NumSpaces, (unsigned)array_lengthof(Spaces));
|
||||||
write(Spaces, NumToWrite);
|
write(Spaces, NumToWrite);
|
||||||
NumSpaces -= NumToWrite;
|
NumSpaces -= NumToWrite;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user