summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CXX/class/class.friend/p1.cpp3
-rw-r--r--clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp14
2 files changed, 16 insertions, 1 deletions
diff --git a/clang/test/CXX/class/class.friend/p1.cpp b/clang/test/CXX/class/class.friend/p1.cpp
index 3ad4a5f0828..bb1af101d24 100644
--- a/clang/test/CXX/class/class.friend/p1.cpp
+++ b/clang/test/CXX/class/class.friend/p1.cpp
@@ -57,7 +57,8 @@ class A {
friend A operator|(const A& l, const A& r); // okay
friend A operator|(const A& r); // expected-error {{ overloaded 'operator|' must be a binary operator (has 1 parameter) }}
- friend operator bool() const; // expected-error {{ must use a qualified name when declaring a conversion operator as a friend }}
+ friend operator bool() const; // expected-error {{ must use a qualified name when declaring a conversion operator as a friend }} \
+ // expected-error{{type qualifier is not allowed on this function}}
typedef void ftypedef();
friend ftypedef typedeffed_function; // okay (because it's not declared as a member)
diff --git a/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp
new file mode 100644
index 00000000000..4873c095a0e
--- /dev/null
+++ b/clang/test/CXX/dcl.decl/dcl.meaning/dcl.fct/p6.cpp
@@ -0,0 +1,14 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+void f() const; // expected-error{{type qualifier is not allowed on this function}}
+
+struct X {
+ void f() const;
+ friend void g() const; // expected-error{{type qualifier is not allowed on this function}}
+ static void h() const; // expected-error{{type qualifier is not allowed on this function}}
+};
+
+struct Y {
+ friend void X::f() const;
+ friend void ::f() const; // expected-error{{type qualifier is not allowed on this function}}
+};
OpenPOWER on IntegriCloud