summaryrefslogtreecommitdiff
path: root/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp
blob: e2d94fbf3811ac7df17ae65aaddbe9728e9a665f (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// 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}}
};