]>
Commit | Line | Data |
---|---|---|
6481daa9 MM |
1 | // { dg-do assemble } |
2 | // { dg-options "-pedantic-errors" } | |
921e5a0e JL |
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. | |
10 | ||
11 | struct Foo | |
12 | { | |
13 | Foo(int aa); | |
14 | int a; | |
15 | const Foo* operator-> () const {return this;} | |
16 | }; | |
17 | ||
18 | Foo::Foo(int aa) | |
19 | :a(aa) | |
20 | { } | |
21 | ||
22 | ||
d4a2b486 JM |
23 | struct var_Foo: public Foo // { dg-message "note" } base.*// ERROR - in class.* |
24 | { | |
921e5a0e | 25 | var_Foo* operator-> () {return this;} |
1f0d71c5 | 26 | }; |
921e5a0e JL |
27 | |
28 | int blort(Foo& f) | |
29 | { | |
30 | return f->a; | |
876200a8 | 31 | } |
921e5a0e | 32 | |
44957663 | 33 | int main() |
921e5a0e | 34 | { |
48ca24b2 | 35 | var_Foo b(2);// { dg-error "match" } |
921e5a0e JL |
36 | b->a = 0; |
37 | int x = blort(b); | |
38 | return x; | |
39 | } |