]> granicus.if.org Git - clang/commitdiff
Move friend warning into CXX11 warning group.
authorEli Friedman <eli.friedman@gmail.com>
Fri, 26 Jul 2013 00:06:39 +0000 (00:06 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Fri, 26 Jul 2013 00:06:39 +0000 (00:06 +0000)
Also, fix the wording to reflect this.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187171 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticSemaKinds.td
test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
test/Misc/warning-flags.c

index 817a10f2a15bc1982922008b3583886b5ff24f13..aa0f73caced16427d28e39d83af972342a78011c 100644 (file)
@@ -859,7 +859,7 @@ def err_inline_namespace_mismatch : Error<
 def err_unexpected_friend : Error<
   "friends can only be classes or functions">;
 def ext_enum_friend : ExtWarn<
-  "enumeration type %0 cannot be a friend">;
+  "befriending enumeration type %0 is a C++11 extension">, InGroup<CXX11>;
 def warn_cxx98_compat_enum_friend : Warning<
   "befriending enumeration type %0 is incompatible with C++98">,
   InGroup<CXX98Compat>, DefaultIgnore;
index 8d5849880232531bf7bbd65f1bf9a7a8291801d7..40e754082b48a272ee5ed2d8df2d1f2baa0c99db 100644 (file)
@@ -14,7 +14,7 @@ class A1 {
   friend union A; // expected-error {{use of 'A' with tag type that does not match previous declaration}}
 
   friend enum A; // expected-error {{use of 'A' with tag type that does not match previous declaration}}
-  friend enum E; // expected-warning {{cannot be a friend}}
+  friend enum E; // expected-warning {{befriending enumeration type 'enum E' is a C++11 extension}}
 };
 
 template <class T> struct B { // expected-note {{previous use is here}}
index 9a43e48615b94ac14dded693cafdda3589f7ec69..0a22e640a72cfce3c43cc2fc8fb3534e4e600c58 100644 (file)
@@ -18,9 +18,8 @@ This test serves two purposes:
 
 The list of warnings below should NEVER grow.  It should gradually shrink to 0.
 
-CHECK: Warnings without flags (136):
+CHECK: Warnings without flags (135):
 CHECK-NEXT:   ext_delete_void_ptr_operand
-CHECK-NEXT:   ext_enum_friend
 CHECK-NEXT:   ext_expected_semi_decl_list
 CHECK-NEXT:   ext_explicit_specialization_storage_class
 CHECK-NEXT:   ext_implicit_lib_function_decl