<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Kirk,<div><br></div><div>You're emailing the wrong mailing list.  This patch should go to cfe-commits.</div><div><br></div><div>Ted</div><div><br><div><div>On Feb 14, 2011, at 8:14 AM, <a href="mailto:kirk.beitz@nokia.com">kirk.beitz@nokia.com</a> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div><i>Trying again because i didn't see a response to this previously (11 days ago), and i don't have permissions in the svn repository to commit this, yet.</i></div>
<div><br>
</div>
<div>Attached, please find a patch to tools/clang/include/clang/Basic/Attrs.td</div>
<div><br>
</div>
<div>It is used to generate tools/clang/includes/clang/AST/Attrs.inc, which gets #included by Attr.h (which in turn is getting #included several nested levels deep in our effort to build lldb under MinGW ).</div>
<div><br>
</div>
<div>Without this change, one of the classes to be generated defined "Args=Interface".</div>
<div><br>
</div>
<div>This causes the generated class to contain a private member named "interface".</div>
<div><br>
</div>
<div>Under MinGW, when code #includes Attr.h and "basetyps.h" from MinGW before it, a conflict results, because MinGW's basetypes.h will (under most circumstances) pull in windows headers which have the following macro definition:</div>
<div><br>
</div>
<div>#define interface struct</div>
<div><br>
</div>
<div>The patch shows that 'Interface' is simply changed to 'InterFace' (with the F capitalized) so that the private member variable that gets generated becomes "interFace".</div>
<div><br>
</div>
<div>This mimics style elsewhere in Attrs.td (e.g. "Args=>FormatIdx" causes a private member formatIdx to be generated).</div>
<div><br>
</div>
<div>The capitalization difference leads to the resolution of the conflict with MinGW's basetypes.h .</div>
<div><br>
</div>
<div>Thanks in advance for any review/comments/feedback.</div>
<div><br>
</div>
<div><br>
</div>
<div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">Index: include/clang/Basic/Attr.td</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">===================================================================</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">--- include/clang/Basic/Attr.td</span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">
</span></font></span><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">(revision 123723)</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">+++ include/clang/Basic/Attr.td</span></font><span class="Apple-tab-span" style="white-space:pre"><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">
</span></font></span><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">(working copy)</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">@@ -258,7 +258,7 @@</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;"> </span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;"> def IBOutletCollection : Attr {</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">   let Spellings = ["iboutletcollection"];</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">-  let Args = [TypeArgument<"Interface">];</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;">+  let Args = [TypeArgument<"InterFace">];</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;"> }</span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;"> </span></font></div>
<div><font class="Apple-style-span" face="'Courier New'" size="3"><span class="Apple-style-span" style="font-size: 11px;"> def Malloc : Attr {</span></font></div>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div></div>
</div>

<span><Attr.td.patch></span>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div></div><div><font class="Apple-style-span" face="Monaco" size="3"><span class="Apple-style-span" style="font-size: 11px; "><font class="Apple-style-span" face="Optima"><span class="Apple-style-span" style="font-size: medium;"><br></span></font></span></font></div><div><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><div style="font-size: 11px; "><font class="Apple-style-span" face="Monaco"><span class="Apple-style-span" style="font-family: Helvetica; "><font class="Apple-style-span" face="Monaco">++ kirk beitz : nokia : austin + san diego </font><span class="Apple-style-span" style="font-family: Monaco; ">: <a href="mailto:kirk.beitz@nokia.com">kirk.beitz@nokia.com</a> ++</span></span></font></div><div><br></div></span><br class="Apple-interchange-newline">
</div>
<br></div>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits<br></blockquote></div><br></div></body></html>