Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / g++.old-deja / g++.law / ctors9.C
blobd94495a253e81846fe0a59a88edd58b0550b7c5e
1 // { dg-do assemble  }
2 // { dg-options "-pedantic-errors" }
3 // GROUPS passed constructors
4 // ctors file
5 // Message-Id: <9301132030.AA05210@cs.rice.edu>
6 // From: dougm@cs.rice.edu (Doug Moore)
7 // Subject: 2.3.3: accepts ctor-less derived class of ctor-ful base class
8 // Date: Wed, 13 Jan 93 14:30:21 CST
9 // Note: It gives an error now.  But not a very good one.
11 struct Foo
13   Foo(int aa);
14   int a;
15   const Foo* operator-> () const {return this;}
18 Foo::Foo(int aa)
19 :a(aa)
20 { }
23 struct var_Foo: public Foo // { dg-message "note" }  base.*// ERROR -  in class.*
25   var_Foo* operator-> () {return this;}
28 int blort(Foo& f)
30   return f->a;
33 int main()
35   var_Foo b(2);// { dg-error "match" } 
36   // { dg-message "candidate" "candidate note" { target *-*-* } 35 }
37   b->a = 0;
38   int x = blort(b);
39   return x;