On 12/01/2014 15:29, Aaron Ballman wrote:
On Sun, Jan 12, 2014 at 10:18 AM, Alp Toker <[email protected]> wrote:
Author: alp
Date: Sun Jan 12 09:18:06 2014
New Revision: 199053

URL: http://llvm.org/viewvc/llvm-project?rev=199053&view=rev
Log:
Clarify warn_cxx98_compat_attribute diagnostic

Various attribute flavours are supported in C++98. Make it clear that this
compatibility warning relates specifically to C++11-style generalized
attributes.

Modified:
     cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
     cfe/trunk/test/SemaCXX/cxx98-compat.cpp

Modified: cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td
URL: 
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td?rev=199053&r1=199052&r2=199053&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td (original)
+++ cfe/trunk/include/clang/Basic/DiagnosticParseKinds.td Sun Jan 12 09:18:06 
2014
@@ -517,7 +517,7 @@ def warn_cxx98_compat_nullptr : Warning<
  def warn_cxx98_compat_alignas : Warning<"'alignas' is incompatible with 
C++98">,
    InGroup<CXX98Compat>, DefaultIgnore;
  def warn_cxx98_compat_attribute : Warning<
-  "attributes are incompatible with C++98">,
+  "generalized attributes are incompatible with C++98">,
What are "generalized" attributes? I think it would be better-worded
as "C++11 attributes are incompatible with C++98" (this is more
consistent with other parser diagnostics, as well).


Hi Aaron,

I'd say it's time to use the more natural name for C++11 attributes because the syntax now appears in a published standard. That's the usual lifecycle for clang language features moving from experimental to fully supported.

As for the name itself, it's the terminology adopted by the C++ community and also the name by which we advertise the feature on our own C++ status page at http://clang.llvm.org/cxx_status.html:

  Generalized attributes    N2761    Clang 3.3 (1)

There's also a compelling reason _not_ to keep the old experimental naming scheme indefinitely -- doing so will cause terminology dissonance as other language dialects like ISO C look to adopt the new syntax, likewise if we decide to introduce generalized attributes as a clang extension to C11 in the meantime.

Alp.



Otherwise, LGTM!

~Aaron

--
http://www.nuanti.com
the browser experts

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to