c++: Improve error location for class using-decl.
We should use the location of the using-declaration, not the location of the class. gcc/cp/ChangeLog: * class.c (handle_using_decl): Add an iloc_sentinel. gcc/testsuite/ChangeLog: * g++.dg/lookup/using26.C: Adjust location. * g++.old-deja/g++.other/using1.C: Adjust location.
This commit is contained in:
parent
38b17c27ce
commit
05b03452db
@ -1,4 +1,4 @@
|
||||
/* Functions related to building classes and their related objects.
|
||||
/* Functions related to building -*- C++ -*- classes and their related objects.
|
||||
Copyright (C) 1987-2020 Free Software Foundation, Inc.
|
||||
Contributed by Michael Tiemann (tiemann@cygnus.com)
|
||||
|
||||
@ -1322,6 +1322,8 @@ handle_using_decl (tree using_decl, tree t)
|
||||
return;
|
||||
}
|
||||
|
||||
iloc_sentinel ils (DECL_SOURCE_LOCATION (using_decl));
|
||||
|
||||
/* Make type T see field decl FDECL with access ACCESS. */
|
||||
if (flist)
|
||||
for (ovl_iterator iter (flist); iter; ++iter)
|
||||
|
@ -17,9 +17,9 @@ struct C
|
||||
int next;
|
||||
};
|
||||
|
||||
struct D : A, B, C // { dg-error "context" }
|
||||
struct D : A, B, C
|
||||
{
|
||||
using B::next;
|
||||
using B::next; // { dg-error "context" }
|
||||
void f()
|
||||
{
|
||||
next = 12;
|
||||
|
@ -10,9 +10,9 @@ protected:
|
||||
friend class D2;
|
||||
};
|
||||
|
||||
class D : public B { // { dg-error "" } within this context
|
||||
class D : public B {
|
||||
public:
|
||||
using B::a;
|
||||
using B::a; // { dg-error "" } within this context
|
||||
using B::b;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user