summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2016-11-16 00:38:33 +0000
committerRui Ueyama <ruiu@google.com>2016-11-16 00:38:33 +0000
commit507013180edc1aaeb78cc88f238aca56ea7957b1 (patch)
treed243a9bc762f01beb9c45ac700421c703bfda55b
parent8c1a9ac52b560b1dd63269665965b2baffef0e9b (diff)
downloadbcm5719-llvm-507013180edc1aaeb78cc88f238aca56ea7957b1.tar.gz
bcm5719-llvm-507013180edc1aaeb78cc88f238aca56ea7957b1.zip
Fix Modi and File count if there are more than 65535 modules/files.
These numbers are intended to be capped at 65535, but `std::max<uint16_t>(UINT16_MAX, N)` always returns N for any N because the expression is the same as `std::max((uint16_t)UINT16_MAX, (uint16_t)N)`. llvm-svn: 287060
-rw-r--r--llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
index 7001030f9a2..9989c4c6dd7 100644
--- a/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
+++ b/llvm/lib/DebugInfo/PDB/Raw/DbiStreamBuilder.cpp
@@ -185,8 +185,8 @@ Error DbiStreamBuilder::generateFileInfoSubstream() {
WritableStreamRef(FileInfoBuffer).keep_front(NamesOffset);
StreamWriter MetadataWriter(MetadataBuffer);
- uint16_t ModiCount = std::min<uint16_t>(UINT16_MAX, ModuleInfos.size());
- uint16_t FileCount = std::min<uint16_t>(UINT16_MAX, SourceFileNames.size());
+ uint16_t ModiCount = std::min<uint32_t>(UINT16_MAX, ModuleInfos.size());
+ uint16_t FileCount = std::min<uint32_t>(UINT16_MAX, SourceFileNames.size());
if (auto EC = MetadataWriter.writeInteger(ModiCount)) // NumModules
return EC;
if (auto EC = MetadataWriter.writeInteger(FileCount)) // NumSourceFiles
OpenPOWER on IntegriCloud