1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 -pedantic %s 22f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregor 32f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregorvoid fnptrs() 42f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregor{ 52f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregor typedef void (*fnptr)(); 62f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregor fnptr fp = 0; 72fe9b7fb07dff15dd15dd8755a9a9e6de0fe46fcRichard Trieu void *vp = reinterpret_cast<void*>(fp); // expected-warning {{cast between pointer-to-function and pointer-to-object is an extension}} 82fe9b7fb07dff15dd15dd8755a9a9e6de0fe46fcRichard Trieu (void)reinterpret_cast<fnptr>(vp); // expected-warning {{cast between pointer-to-function and pointer-to-object is an extension}} 92f639b9f3c6b081f076d2ac6d75115ce44bfa249Douglas Gregor} 10