From 37bc1dc9877fc480493c85c6d02709b3015bb5e8 Mon Sep 17 00:00:00 2001 From: Sven van Haastregt Date: Tue, 27 Apr 2021 11:15:47 +0100 Subject: [PATCH] [NFC] Workaround MSVC2019 32-bit compiler crash As reported on D100492, this restructuring should stop the internal compiler error from happening. Fixes PR50128. --- clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp index 1e27438..9122779 100644 --- a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp +++ b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp @@ -525,17 +525,18 @@ void BuiltinNameEmitter::EmitBuiltinTable() { for (const auto &Overload : SLM.second.Signatures) { StringRef ExtName = Overload.first->getValueAsDef("Extension")->getName(); + unsigned int MinVersion = + Overload.first->getValueAsDef("MinVersion")->getValueAsInt("ID"); + unsigned int MaxVersion = + Overload.first->getValueAsDef("MaxVersion")->getValueAsInt("ID"); + OS << " { " << Overload.second << ", " << Overload.first->getValueAsListOfDefs("Signature").size() << ", " << (Overload.first->getValueAsBit("IsPure")) << ", " << (Overload.first->getValueAsBit("IsConst")) << ", " << (Overload.first->getValueAsBit("IsConv")) << ", " << FunctionExtensionIndex[ExtName] << ", " - << EncodeVersions(Overload.first->getValueAsDef("MinVersion") - ->getValueAsInt("ID"), - Overload.first->getValueAsDef("MaxVersion") - ->getValueAsInt("ID")) - << " },\n"; + << EncodeVersions(MinVersion, MaxVersion) << " },\n"; Index++; } } -- 2.7.4