<div dir="ltr"><div><div>+      // GNU libc++ uses certain MS keywords as identifiers.</div></div><div><br></div><div>"libc", not "libc++". Maybe specifically say that it uses __uptr, since that's the only one we're special-casing.</div>
<div><br></div><div><div>+      if (VendorAttributesAllowed && !getLangOpts().CPlusPlus &&</div><div>+          DS.isEmpty() && NextToken().is(tok::semi) &&</div><div>+          PP.getSourceManager().isInSystemHeader(Loc)) {</div>
</div><div><br></div><div>I'm worried about the generality of this check. An abstract-declarator could legitimately contain "T *__uptr", followed by a semicolon. Can you pass in D.mayOmitIdentifier(), and treat __uptr as an identifier only if (1) the identifier cannot be omitted, and (2) the next token is a semicolon?</div>
<div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Nov 24, 2013 at 6:43 AM, Aaron Ballman <span dir="ltr"><<a href="mailto:aaron@aaronballman.com" target="_blank">aaron@aaronballman.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have no issues with this patch, but I would wait for a LGTM from<br>
someone like Richard. As for merging it into the release branch, that<br>
should be discussed with Bill, and this seems reasonable to apply<br>
there too.<br>
<br>
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Nov 24, 2013 at 7:19 AM, Alp Toker <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>> wrote:<br>
><br>
> On 23/11/2013 21:06, Aaron Ballman wrote:<br>
>><br>
>> On Fri, Nov 22, 2013 at 8:35 PM, Jeremy Fitzhardinge <<a href="mailto:jeremy@goop.org">jeremy@goop.org</a>><br>
>> wrote:<br>
>>><br>
>>> Hi all,<br>
>>><br>
>>> I filed bug 17824 a few days ago because I'm seeing a regression in the<br>
>>> current svn clang vs previous versions with this structure in glibc's<br>
>>> /usr/include/stdlib.h when compiling with -fms-extensions:<br>
>><br>
>> This is not actually a bug -- __uptr is a keyword in Microsoft mode.<br>
>><br>
>> <a href="http://msdn.microsoft.com/en-us/library/vstudio/aa983399.aspx" target="_blank">http://msdn.microsoft.com/en-us/library/vstudio/aa983399.aspx</a><br>
>><br>
>> We don't support the full semantics for it, but you can see it<br>
>> declared as a TypeAttr in Attr.td.<br>
><br>
><br>
> Hi Aaron,<br>
><br>
> We've been good at supporting all the language standards built against stock<br>
> system headers so far because it's handy for writing quick tests and, in<br>
> this case, porting software from Windows.<br>
><br>
> The attached patch fixes -fms-extensions with GNU libc headers. Could you<br>
> give it a spin against the MS headers?<br>
><br>
> Will land and get this merged to the release branch if it works for you.<br>
><br>
> Alp.<br>
><br>
><br>
>><br>
>> HTH!<br>
>><br>
>> ~Aaron<br>
>><br>
>> _______________________________________________<br>
>> cfe-dev mailing list<br>
>> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
><br>
> --<br>
> <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
> the browser experts<br>
><br>
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
</div></div></blockquote></div><br></div>