[llvm] r267277 - Avoid MSVC failure with default arguments in lambdas from r267270
Duncan P. N. Exon Smith via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 22 21:52:47 PDT 2016
Author: dexonsmith
Date: Fri Apr 22 23:52:47 2016
New Revision: 267277
URL: http://llvm.org/viewvc/llvm-project?rev=267277&view=rev
Log:
Avoid MSVC failure with default arguments in lambdas from r267270
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/11700
Modified:
llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp?rev=267277&r1=267276&r2=267277&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitcodeReader.cpp Fri Apr 22 23:52:47 2016
@@ -1998,17 +1998,21 @@ std::error_code BitcodeReader::parseMeta
PlaceholderQueue Placeholders;
bool IsDistinct;
- auto getMD = [&](unsigned ID, bool AllowPlaceholders = true) -> Metadata * {
- if (!IsDistinct || !AllowPlaceholders)
+ auto getMD = [&](unsigned ID) -> Metadata * {
+ if (!IsDistinct)
return MetadataList.getMetadataFwdRef(ID);
if (auto *MD = MetadataList.getMetadataIfResolved(ID))
return MD;
return &Placeholders.getPlaceholderOp(ID);
};
- auto getMDOrNull = [&](unsigned ID,
- bool AllowPlaceholders = true) -> Metadata * {
+ auto getMDOrNull = [&](unsigned ID) -> Metadata * {
if (ID)
- return getMD(ID - 1, AllowPlaceholders);
+ return getMD(ID - 1);
+ return nullptr;
+ };
+ auto getMDOrNullWithoutPlaceholders = [&](unsigned ID) -> Metadata * {
+ if (ID)
+ return MetadataList.getMetadataFwdRef(ID - 1);
return nullptr;
};
auto getMDString = [&](unsigned ID) -> MDString *{
@@ -2331,8 +2335,7 @@ std::error_code BitcodeReader::parseMeta
MetadataList.assignValue(CU, NextMetadataNo++);
// Move the Upgrade the list of subprograms.
- if (Metadata *SPs =
- getMDOrNull(Record[11], /* AllowPlaceholders = */ false))
+ if (Metadata *SPs = getMDOrNullWithoutPlaceholders(Record[11]))
CUSubprograms.push_back({CU, SPs});
break;
}
More information about the llvm-commits
mailing list