Author: Sven van Haastregt Date: 2022-06-20T10:07:34+01:00 New Revision: 8c3fa31701c4b874138c52266e7ab96818092f47
URL: https://github.com/llvm/llvm-project/commit/8c3fa31701c4b874138c52266e7ab96818092f47 DIFF: https://github.com/llvm/llvm-project/commit/8c3fa31701c4b874138c52266e7ab96818092f47.diff LOG: [OpenCL][TableGen] Fix type extension guard emission For certain cases (such as for the double subtype of AGenType), the OpenCLBuiltinFileEmitterBase would not emit the extension #if-guard. Fix that by looking at the extension of the actual type instead of the argument type (which could be a GenType that does not carry any extension information). Added: Modified: clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp Removed: ################################################################################ diff --git a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp index dca9970444a73..cddbd7b17c5f6 100644 --- a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp +++ b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp @@ -1082,7 +1082,7 @@ void OpenCLBuiltinFileEmitterBase::expandTypesInSignature( // If the type requires an extension, add a TypeExtMap entry mapping // the full type name to the extension. StringRef Ext = - Arg->getValueAsDef("Extension")->getValueAsString("ExtName"); + Type->getValueAsDef("Extension")->getValueAsString("ExtName"); if (!Ext.empty() && TypeExtMap.find(FullType) == TypeExtMap.end()) { TypeExtMap.insert({FullType, Ext}); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits