| // { dg-options "" } |
| |
| // Copyright (C) 2004 Free Software Foundation, Inc. |
| // Contributed by Nathan Sidwell 20 Oct 2004 <nathan@codesourcery.com> |
| |
| // DR 195 will allow conversions between function and object pointers |
| // under some circumstances. It is in drafting, so we don't implement |
| // it (yet). |
| |
| // this checks we are silent when not being pedantic. |
| |
| typedef void (*PF)(void); |
| typedef void *PV; |
| typedef int *PO; |
| |
| |
| void foo () |
| { |
| PF pf; |
| PV pv; |
| PO po; |
| |
| /* the following two will almost definitly be ok with 195. */ |
| pf = reinterpret_cast <PF>(pv); |
| pv = reinterpret_cast <PV>(pf); |
| |
| /* the following two might or might not be ok with 195. */ |
| pf = reinterpret_cast <PF>(po); |
| po = reinterpret_cast <PO>(pf); |
| |
| /* These will never be ok, as they are implicit. */ |
| pv = pf; // { dg-error "invalid conversion" } |
| pf = pv; // { dg-error "invalid conversion" } |
| } |