Auto merge of #38223 - rkruppe:llvm-stringref-fixes, r=alexcrichton

printf type correctness

The `%.*s` format specifier requires an int for the maximum size, but StringRef::size is a size_t

cc @shepmaster
This commit is contained in:
bors 2016-12-10 00:34:13 +00:00
commit ebf2e7da5b
1 changed files with 5 additions and 2 deletions

View File

@ -533,8 +533,11 @@ LLVMRustPrintPasses() {
StringRef PassArg = info->getPassArgument();
StringRef PassName = info->getPassName();
if (!PassArg.empty()) {
printf("%15.*s - %.*s\n", PassArg.size(), PassArg.data(),
PassName.size(), PassName.data());
// These unsigned->signed casts could theoretically overflow, but
// realistically never will (and even if, the result is implementation
// defined rather plain UB).
printf("%15.*s - %.*s\n", (int)PassArg.size(), PassArg.data(),
(int)PassName.size(), PassName.data());
}
#else
if (info->getPassArgument() && *info->getPassArgument()) {