[PATCH] D46131: Add Microsoft Mangling for OpenCL Half Type

Vince Bridgers via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Apr 26 09:38:20 PDT 2018


vbridgers created this revision.
vbridgers added reviewers: rnk, Anastasia, erichkeane.
vbridgers added a project: clang.
Herald added subscribers: cfe-commits, yaxunl.

Half-type mangling is accomplished following the method introduced by Erich Keane for mangling _Float16. Updated the half.cl LIT test to cover this particular case.


Repository:
  rC Clang

https://reviews.llvm.org/D46131

Files:
  lib/AST/MicrosoftMangle.cpp
  test/CodeGenOpenCL/half.cl


Index: test/CodeGenOpenCL/half.cl
===================================================================
--- test/CodeGenOpenCL/half.cl
+++ test/CodeGenOpenCL/half.cl
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 %s -emit-llvm -o - -triple spir-unknown-unknown | FileCheck %s
+// RUN: %clang_cc1 %s -emit-llvm -o - -triple x86_64-pc-win32 | FileCheck %s
 
 #pragma OPENCL EXTENSION cl_khr_fp16 : enable
 
Index: lib/AST/MicrosoftMangle.cpp
===================================================================
--- lib/AST/MicrosoftMangle.cpp
+++ lib/AST/MicrosoftMangle.cpp
@@ -1922,8 +1922,11 @@
     mangleArtificalTagType(TTK_Struct, "_Float16", {"__clang"});
     break;
 
-  case BuiltinType::Float128:
-  case BuiltinType::Half: {
+  case BuiltinType::Half:
+    mangleArtificalTagType(TTK_Struct, "_Half", {"__clang"});
+    break;
+
+  case BuiltinType::Float128: {
     DiagnosticsEngine &Diags = Context.getDiags();
     unsigned DiagID = Diags.getCustomDiagID(
         DiagnosticsEngine::Error, "cannot mangle this built-in %0 type yet");


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46131.144139.patch
Type: text/x-patch
Size: 1036 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180426/338b40e4/attachment.bin>


More information about the cfe-commits mailing list