// { dg-do compile } // { dg-options "-pedantic -pedantic-errors" } typedef int FIC(int) const; typedef int FI(int); FIC f; // { dg-error "qualified" } // { dg-error "ignoring" "ignoring" { target *-*-* } 6 } struct S { FIC f; // OK const FI g; // { dg-error "qualifier" } int h(int) const; }; FIC S::*pm = &S::f; const FI S::*pm2 = &S::f; // { dg-error "qualifier" } // { dg-error "cannot convert" "cannot convert" { target *-*-* } 17 } const FIC S::*pm3 = &S::f; // { dg-error "qualifier" } int S::f(int) const { return 17; } int foo(float) const // { dg-error "qualifier" } { return 0; } int bar(float) volatile; // { dg-error "qualifier" }