From 6f7814d08fd89dc9f41807568ef26c3ffe498dba Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Sat, 12 Jan 2019 21:59:50 +0000 Subject: [PATCH] decl.c (cp_finish_decl): Improve error location. /cp 2019-01-12 Paolo Carlini * decl.c (cp_finish_decl): Improve error location. * decl2.c (grokfield): Likewise, improve two locations. /testsuite 2019-01-12 Paolo Carlini * g++.dg/cpp0x/pr62101.C: Test locations too. * g++.dg/inherit/pure1.C: Likewise. From-SVN: r267888 --- gcc/testsuite/g++.dg/inherit/pure1.C | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/testsuite/g++.dg/inherit/pure1.C b/gcc/testsuite/g++.dg/inherit/pure1.C index 364369b..fd81ff0 100644 --- a/gcc/testsuite/g++.dg/inherit/pure1.C +++ b/gcc/testsuite/g++.dg/inherit/pure1.C @@ -2,18 +2,19 @@ // Origin: Volker Reichelt // { 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" } -// { dg-error "like a variable" "" { target *-*-* } .-1 } +// { dg-error "14:function .void foo1\\(\\). is initialized like a variable" "" { target *-*-* } .-1 } struct A { - void foo2() = 0; // { dg-error "non-virtual" } - static void foo3() = 0; // { dg-error "static member" } + void foo2() = 0; // { dg-error "8:initializer specified for non-virtual method" } + 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 void foo5() = 0; // { dg-error "base class" } }; 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 } }; -- 2.7.4