blob: 6e3d089cb7c103956a5d179f1727f18641972043 [file] [log] [blame]
// { dg-do assemble }
// Origin: Mark Mitchell <mark@codesourcery.com>
struct A {
};
int main()
{
A a;
typedef void (A::*F)();
F p;
const_cast<const A>(a); // { dg-error "3:invalid use of .const_cast." } const_cast requires pointer/ref types
const_cast<F>(p); // { dg-error "3:invalid use of .const_cast." } const_cast requires pointer/ref types
const_cast<int (*)()>(&main); // { dg-error "3:invalid use of .const_cast." } function type in const_cast
// { dg-error "26:ISO C\\+\\+ forbids taking address" "" { target *-*-* } .-1 }
const_cast<int (&)()>(main); // { dg-error "3:invalid use of .const_cast." } function type in const_cast
}