<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 14, 2011, at 10:56 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>Incorrectly originally posted to llvm-commits .  Hopefully someone can take a look at this and see that it is a very small, simple patch that will allow easier porting to Win32 under MinGW .</i></div>
<div><br>
</div>
<div>LLDB is attempting to use clang, and ran into a conflict attempting to port to MinGW .</div>
<div><br>
</div>
<div>Attached, please find a 1-line 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 basetyps.h will (under certain circumstances) pull in windows headers which have the following macro definition:</div>
<div><br>
</div>
<div>#define interface struct</div>
<div><br>
</div>
<div>This is a fairly common win32 occurrence.</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 basetyps.h .</div>
<div><br>
</div>
<div>Thanks in advance for any review/comments/feedback.</div>
</div></blockquote><br></div><div>Thanks, I've committed this as r127127 with one fix in CIndex.cpp.</div><div><br></div><div>  - Doug</div><br></body></html>