2 // Copyright (C) 2000 Free Software Foundation, Inc.
3 // Contributed by Nathan Sidwell 22 Nov 2000 <nathan@codesourcery.com>
5 // bug 827. We died issuing warnings about dangerous pointer to member
13 struct filler1 {int fm;};
14 struct filler2 {int fm;};
15 struct filler3 {int fm;};
16 struct filler4 {int fm;};
18 struct baz : filler1, bar, filler2
23 struct foo : filler3, virtual baz, filler4
30 typedef void (bar::*barfPtr)();
31 typedef void (foo::*foofPtr)();
32 typedef int bar::*barmPtr;
33 typedef int foo::*foomPtr;
38 barfPtr bp = (barfPtr)fp; // { dg-warning "" } pointer to member
39 foofPtr fp2 = (foofPtr)bp; // { dg-warning "" } pointer to member
53 foomPtr fmp = &foo::m;
54 barmPtr bmp = (barmPtr)fmp; // { dg-warning "" } pointer to member
55 foomPtr fmp2 = (foomPtr)bmp; // { dg-warning "" } pointer to member
64 bp = reinterpret_cast <barfPtr> (fp);
65 fp2 = reinterpret_cast <foofPtr> (bp);
69 bmp = reinterpret_cast <barmPtr> (fmp);
70 fmp2 = reinterpret_cast <foomPtr> (bmp);