forked from OSchip/llvm-project
Add llvm::getOrdinalSuffix to get the appropriate -st, -nd, -rd, -th suffix.
Used by clang to print parameter indexes. llvm-svn: 164440
This commit is contained in:
parent
f8b0a5e9e3
commit
d2718b1fed
|
@ -129,6 +129,25 @@ static inline unsigned HashString(StringRef Str, unsigned Result = 0) {
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Returns the English suffix for an ordinal integer (-st, -nd, -rd, -th).
|
||||||
|
static inline StringRef getOrdinalSuffix(unsigned Val) {
|
||||||
|
// It is critically important that we do this perfectly for
|
||||||
|
// user-written sequences with over 100 elements.
|
||||||
|
switch (Val % 100) {
|
||||||
|
case 11:
|
||||||
|
case 12:
|
||||||
|
case 13:
|
||||||
|
return "th";
|
||||||
|
default:
|
||||||
|
switch (Val % 10) {
|
||||||
|
case 1: return "st";
|
||||||
|
case 2: return "nd";
|
||||||
|
case 3: return "rd";
|
||||||
|
default: return "th";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} // End llvm namespace
|
} // End llvm namespace
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue