<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">I’d like to renew the discussion about making the OpenCL specific types first class citizens in Clang.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I think this change is required by the OpenCL specifications, since these type names are keywords of the OpenCL C language.<o:p></o:p></p>
<p class="MsoNormal">This change is also needed in order to enable efficient checking of OpenCL restrictions on these types (OpenCL 1.2 spec, section 6.9).<o:p></o:p></p>
<p class="MsoNormal">Furthermore, the proposed change will turn these types to pointers to opaque types, which means that it will hide the actual (vendor specific) implementation, so the OpenCL vendors using Clang will be able to implement these types in their
 own way.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This change would also be a basis for the implementation of SPIR generation by Clang. The SPIR discussion and spec can be found here:<o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-September/024132.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-September/024132.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-September/024178.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-September/024178.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Earlier discussion about the OpenCL types was started by Anton Lokhmotov:<o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-May/015297.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-May/015297.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-April/014741.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-April/014741.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-March/014118.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-March/014118.html</a><o:p></o:p></p>
<p class="MsoNormal"><a href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-March/014121.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-March/014121.html</a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><img border="0" width="420" height="116" id="Picture_x0020_1" src="cid:image001.png@01CDA187.E84C8C00" alt="email_signature_guy_new2"><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>