Commit 6f7814d0 by Paolo Carlini

decl.c (cp_finish_decl): Improve error location.

/cp
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (cp_finish_decl): Improve error location.
	* decl2.c (grokfield): Likewise, improve two locations.

/testsuite
2019-01-12  Paolo Carlini  <paolo.carlini@oracle.com>

	* g++.dg/cpp0x/pr62101.C: Test locations too.
	* g++.dg/inherit/pure1.C: Likewise.

From-SVN: r267888
parent 062ab459
...@@ -2,18 +2,19 @@ ...@@ -2,18 +2,19 @@
// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> // Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
// { dg-do compile } // { dg-do compile }
void foo0() = 0; // { dg-error "like a variable" } void foo0() = 0; // { dg-error "6:function .void foo0\\(\\). is initialized like a variable" }
virtual void foo1() = 0; // { dg-error "1:'virtual' outside class" } virtual void foo1() = 0; // { dg-error "1:'virtual' outside class" }
// { dg-error "like a variable" "" { target *-*-* } .-1 } // { dg-error "14:function .void foo1\\(\\). is initialized like a variable" "" { target *-*-* } .-1 }
struct A struct A
{ {
void foo2() = 0; // { dg-error "non-virtual" } void foo2() = 0; // { dg-error "8:initializer specified for non-virtual method" }
static void foo3() = 0; // { dg-error "static member" } static void foo3() = 0; // { dg-error "15:initializer specified for static member function" }
virtual static void foo4() = 0; // { dg-error "both 'virtual' and 'static'" } virtual static void foo4() = 0; // { dg-error "both 'virtual' and 'static'" }
virtual void foo5() = 0; // { dg-error "base class" } virtual void foo5() = 0; // { dg-error "base class" }
}; };
struct B : A struct B : A
{ {
static void foo5() = 0; // { dg-error "static member|declared" } static void foo5() = 0; // { dg-error "15:initializer specified for static member function" }
// { dg-error "declared" "" { target *-*-* } .-1 }
}; };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment