/* PR c++/99251 - inconsistent -Wnonnull warning behaviour with dynamic_cast | |
{ dg-do compile } | |
{ dg-options "-Wall" } */ | |
struct A | |
{ | |
virtual ~A (); | |
}; | |
struct B: A | |
{ | |
int f (int); | |
}; | |
int f1 (A *p) | |
{ | |
if (!p) | |
return 0; | |
return (dynamic_cast<B *>(p))->f (1); | |
} | |
int f2 (A *p) | |
{ | |
if (!p) | |
return 0; | |
return dynamic_cast<B *>(p)->f (2); // { dg-bogus "\\\[-Wnonnull" } | |
} |