1f0d71c5bb
cp: * class.c (duplicate_tag_error): Adjust diagnostic. (finish_struct): Locally set location to start of struct. * decl.c (fixup_anonymous_aggr): Use cp_error_at. testsuite: * g++.old-deja/g++.benjamin/15309-1.C: Expect diagnostic at start of structs. * g++.old-deja/g++.benjamin/15309-2.C: Likewise. * g++.old-deja/g++.brendan/crash17.C: Likewise. * g++.old-deja/g++.brendan/crash29.C: Likewise. * g++.old-deja/g++.brendan/crash48.C: Likewise. * g++.old-deja/g++.brendan/ns1.C: Likewise. * g++.old-deja/g++.brendan/warnings1.C: Likewise. * g++.old-deja/g++.bugs/900205_04.C: Likewise. * g++.old-deja/g++.bugs/900514_03.C: Likewise. * g++.old-deja/g++.eh/spec6.C: Likewise. * g++.old-deja/g++.jason/crash3.C: Likewise. * g++.old-deja/g++.law/ctors11.C: Likewise. * g++.old-deja/g++.law/ctors17.C: Likewise. * g++.old-deja/g++.law/ctors5.C: Likewise. * g++.old-deja/g++.law/ctors9.C: Likewise. * g++.old-deja/g++.mike/ambig1.C: Likewise. * g++.old-deja/g++.mike/net22.C: Likewise. * g++.old-deja/g++.mike/p3538a.C: Likewise. * g++.old-deja/g++.mike/p3538b.C: Likewise. * g++.old-deja/g++.mike/virt3.C: Likewise. * g++.old-deja/g++.niklas/t128.C: Likewise. * g++.old-deja/g++.other/anon4.C: Likewise. * g++.old-deja/g++.other/using1.C: Likewise. * g++.old-deja/g++.other/warn3.C: Likewise. * g++.old-deja/g++.pt/t37.C: Likewise. * g++.old-deja/g++.robertl/eb69.C: Likewise. * g++.old-deja/g++.robertl/eb71.C: Likewise. From-SVN: r38798
19 lines
314 B
C
19 lines
314 B
C
// Build don't link:
|
|
// GROUPS passed old-abort
|
|
struct B
|
|
{
|
|
void f(char);
|
|
void g(char);
|
|
};
|
|
|
|
class C
|
|
{ // ERROR - warning
|
|
int g();
|
|
};
|
|
|
|
class D2 : public B
|
|
{ // ERROR - type C is not a base type for type D2
|
|
using B::f; // ok: B is a base of D
|
|
using C::g; // error: C isn't a base of D2
|
|
};
|