| // RUN: %clang_cc1 -fsyntax-only -verify %s |
| |
| typedef void F() const; |
| |
| void f() const; // expected-error {{non-member function cannot have 'const' qualifier}} |
| F g; // expected-error {{non-member function of type 'F' (aka 'void () const') cannot have 'const' qualifier}} |
| |
| struct X { |
| void f() const; |
| friend void g() const; // expected-error {{non-member function cannot have 'const' qualifier}} |
| static void h() const; // expected-error {{static member function cannot have 'const' qualifier}} |
| F i; // ok |
| friend F j; // expected-error {{non-member function of type 'F' (aka 'void () const') cannot have 'const' qualifier}} |
| static F k; // expected-error {{static member function of type 'F' (aka 'void () const') cannot have 'const' qualifier}} |
| }; |
| |
| struct Y { |
| friend void X::f() const; |
| friend void ::f() const; // expected-error {{non-member function cannot have 'const' qualifier}} |
| }; |