blob: 5856d5dc88330890d4d373d3bf8812f069e9c6e4 [file] [log] [blame]
// { dg-do assemble }
// { dg-options "-pedantic-errors" }
// GROUPS passed constructors
// ctors file
// Message-Id: <9301132030.AA05210@cs.rice.edu>
// From: dougm@cs.rice.edu (Doug Moore)
// Subject: 2.3.3: accepts ctor-less derived class of ctor-ful base class
// Date: Wed, 13 Jan 93 14:30:21 CST
// Note: It gives an error now. But not a very good one.
struct Foo
{
Foo(int aa);
int a;
const Foo* operator-> () const {return this;}
};
Foo::Foo(int aa)
:a(aa)
{ }
struct var_Foo: public Foo // { dg-message "note" "" { target c++17_down } } base.*// ERROR - in class.*
{
var_Foo* operator-> () {return this;}
};
int blort(Foo& f)
{
return f->a;
}
int main()
{
var_Foo b(2);// { dg-error "match" "" { target c++17_down } }
b->a = 0;
int x = blort(b);
return x;
}