<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Jan 12, 2014 at 11:14 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">After doing a bit more research and discussion off-list, I think<br>
"generalized attribute" is acceptable.  So patch LGTM as-is.<br></blockquote><div><br></div><div>Really? I wouldn't expect someone seeing this diagnostic to understand that "generalized attribute" means C++11 attributes (it's a really weird term, since they're not a generalization of anything). This isn't an official name for them, and doesn't distinguish them from the other attribute syntaxes we support. Given that this is a diagnostic about compatibility with C++98, "C++11 attributes" seems like the clearest way of expressing this.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
~Aaron<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Jan 12, 2014 at 11:46 AM, Alp Toker <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>> wrote:<br>
><br>
> On 12/01/2014 15:29, Aaron Ballman wrote:<br>
><br>
> On Sun, Jan 12, 2014 at 10:18 AM, Alp Toker <<a href="mailto:alp@nuanti.com">alp@nuanti.com</a>> wrote:<br>
><br>
> Author: alp<br>
> Date: Sun Jan 12 09:18:06 2014<br>
> New Revision: 199053<br>
><br>
> URL: <a href="http://llvm.org/viewvc/llvm-project?rev=199053&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=199053&view=rev</a><br>
> Log:<br>
> Clarify warn_cxx98_compat_attribute diagnostic<br>
><br>
> Various attribute flavours are supported in C++98. Make it clear that this<br>
> compatibility warning relates specifically to C++11-style generalized<br>
> attributes.<br>
><br>
> Modified:<br>
>     cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td<br>
>     cfe/trunk/test/SemaCXX/cxx98-compat.cpp<br>
><br>
> Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td<br>
> URL:<br>
> <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=199053&r1=199052&r2=199053&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=199053&r1=199052&r2=199053&view=diff</a><br>

> ==============================================================================<br>
> --- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)<br>
> +++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Sun Jan 12<br>
> 09:18:06 2014<br>
> @@ -517,7 +517,7 @@ def warn_cxx98_compat_nullptr : Warning<<br>
>  def warn_cxx98_compat_alignas : Warning<"'alignas' is incompatible with<br>
> C++98">,<br>
>    InGroup<CXX98Compat>, DefaultIgnore;<br>
>  def warn_cxx98_compat_attribute : Warning<<br>
> -  "attributes are incompatible with C++98">,<br>
> +  "generalized attributes are incompatible with C++98">,<br>
><br>
> What are "generalized" attributes? I think it would be better-worded<br>
> as "C++11 attributes are incompatible with C++98" (this is more<br>
> consistent with other parser diagnostics, as well).<br>
><br>
><br>
><br>
> Hi Aaron,<br>
><br>
> I'd say it's time to use the more natural name for C++11 attributes because<br>
> the syntax now appears in a published standard. That's the usual lifecycle<br>
> for clang language features moving from experimental to fully supported.<br>
><br>
> As for the name itself, it's the terminology adopted by the C++ community<br>
> and also the name by which we advertise the feature on our own C++ status<br>
> page at <a href="http://clang.llvm.org/cxx_status.html" target="_blank">http://clang.llvm.org/cxx_status.html</a>:<br>
><br>
>   Generalized attributes    N2761    Clang 3.3 (1)<br>
><br>
> There's also a compelling reason _not_ to keep the old experimental naming<br>
> scheme indefinitely -- doing so will cause terminology dissonance as other<br>
> language dialects like ISO C look to adopt the new syntax, likewise if we<br>
> decide to introduce generalized attributes as a clang extension to C11 in<br>
> the meantime.<br>
><br>
> Alp.<br>
><br>
><br>
><br>
> Otherwise, LGTM!<br>
><br>
> ~Aaron<br>
><br>
><br>
> --<br>
> <a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
> the browser experts<br>
</div></div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div></div>