mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[TableGen] Fix line wrapping logic for the autogenerated header to use math that makes more sense (at least to me).
The old code had a bug if the description was between 75 and 85 characters or so as it substracted PSLen from Desc.size() instead of MAX_LINE_LEN in the compare. It also calculated odd values for PosE on the last split and just let StringRef::slice take care of it being larger than the description string. llvm-svn: 238187
This commit is contained in:
parent
f2dd173b6e
commit
d7a132b310
@ -36,14 +36,13 @@ void llvm::emitSourceFileHeader(StringRef Desc, raw_ostream &OS) {
|
|||||||
StringRef Prefix("|* ");
|
StringRef Prefix("|* ");
|
||||||
StringRef Suffix(" *|");
|
StringRef Suffix(" *|");
|
||||||
printLine(OS, Prefix, ' ', Suffix);
|
printLine(OS, Prefix, ' ', Suffix);
|
||||||
|
size_t PSLen = Prefix.size() + Suffix.size();
|
||||||
|
assert(PSLen < MAX_LINE_LEN);
|
||||||
size_t Pos = 0U;
|
size_t Pos = 0U;
|
||||||
do{
|
do {
|
||||||
size_t PSLen = Suffix.size() + Prefix.size();
|
size_t Length = std::min(Desc.size() - Pos, MAX_LINE_LEN - PSLen);
|
||||||
size_t PosE = Pos + ((MAX_LINE_LEN > (Desc.size() - PSLen)) ?
|
printLine(OS, Prefix + Desc.substr(Pos, Length), ' ', Suffix);
|
||||||
Desc.size() :
|
Pos += Length;
|
||||||
MAX_LINE_LEN - PSLen);
|
|
||||||
printLine(OS, Prefix + Desc.slice(Pos, PosE), ' ', Suffix);
|
|
||||||
Pos = PosE;
|
|
||||||
} while (Pos < Desc.size());
|
} while (Pos < Desc.size());
|
||||||
printLine(OS, Prefix, ' ', Suffix);
|
printLine(OS, Prefix, ' ', Suffix);
|
||||||
printLine(OS, Prefix + "Automatically generated file, do not edit!", ' ',
|
printLine(OS, Prefix + "Automatically generated file, do not edit!", ' ',
|
||||||
|
Loading…
Reference in New Issue
Block a user