Hi,

tested x86_64-linux, committed as obvious.

Thanks,
Paolo.

////////////////////
/cp
2014-07-07  Paolo Carlini  <paolo.carl...@oracle.com>

        * class.c (check_for_override): Wrap the 'final' and 'override'
        keywords in %< and %>.

/testsuite
2014-07-07  Paolo Carlini  <paolo.carl...@oracle.com>

        * g++.dg/cpp0x/override1.C: Tweak expected error messages.
Index: cp/class.c
===================================================================
--- cp/class.c  (revision 212330)
+++ cp/class.c  (working copy)
@@ -2771,9 +2771,9 @@ check_for_override (tree decl, tree ctype)
        TYPE_HAS_NONTRIVIAL_DESTRUCTOR (ctype) = true;
     }
   else if (DECL_FINAL_P (decl))
-    error ("%q+#D marked final, but is not virtual", decl);
+    error ("%q+#D marked %<final%>, but is not virtual", decl);
   if (DECL_OVERRIDE_P (decl) && !overrides_found)
-    error ("%q+#D marked override, but does not override", decl);
+    error ("%q+#D marked %<override%>, but does not override", decl);
 }
 
 /* Warn about hidden virtual functions that are not overridden in t.
Index: testsuite/g++.dg/cpp0x/override1.C
===================================================================
--- testsuite/g++.dg/cpp0x/override1.C  (revision 212330)
+++ testsuite/g++.dg/cpp0x/override1.C  (working copy)
@@ -18,7 +18,7 @@ struct D : B
 
 template <class T> struct D2 : T
 {
-  void h() override {} // { dg-error "marked override, but does not override" }
+  void h() override {} // { dg-error "marked 'override', but does not 
override" }
 };
 
 template <class T> struct D3 : T
@@ -38,14 +38,14 @@ struct B3
 
 struct B4
 {
-  void f() final {} // { dg-error "marked final, but is not virtual" }
+  void f() final {} // { dg-error "marked 'final', but is not virtual" }
 };
 
 struct D5 : B
 {
-  void ff() override {} // { dg-error "marked override, but does not override" 
}
-  virtual void fff() override {} // { dg-error "marked override, but does not 
override" }
-  virtual void x() override {} // { dg-error "marked override, but does not 
override" }
+  void ff() override {} // { dg-error "marked 'override', but does not 
override" }
+  virtual void fff() override {} // { dg-error "marked 'override', but does 
not override" }
+  virtual void x() override {} // { dg-error "marked 'override', but does not 
override" }
   void g() override;
 };
 

Reply via email to