summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/member-pointer.cpp
diff options
context:
space:
mode:
authorSerge Pavlov <sepavloff@gmail.com>2015-01-18 20:04:35 +0000
committerSerge Pavlov <sepavloff@gmail.com>2015-01-18 20:04:35 +0000
commit25a8afa9579e79eedac113e15e1afaa6acc1e2a0 (patch)
tree4d904b9badc9fedb05bd65a0e3b902c530e9d60c /clang/test/SemaCXX/member-pointer.cpp
parent4843f193ade5020d8722ce85826e183b0a676203 (diff)
downloadbcm5719-llvm-25a8afa9579e79eedac113e15e1afaa6acc1e2a0.tar.gz
bcm5719-llvm-25a8afa9579e79eedac113e15e1afaa6acc1e2a0.zip
Handle unscoped enumeration in nested name specifier.
If an unscoped enum is used as a nested name specifier and the language dialect is not C++ 11, issue an extension warning. This fixes PR16951. Differential Revision: http://reviews.llvm.org/D6389 llvm-svn: 226413
Diffstat (limited to 'clang/test/SemaCXX/member-pointer.cpp')
-rw-r--r--clang/test/SemaCXX/member-pointer.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/test/SemaCXX/member-pointer.cpp b/clang/test/SemaCXX/member-pointer.cpp
index f8834e37de3..b9e5a631baa 100644
--- a/clang/test/SemaCXX/member-pointer.cpp
+++ b/clang/test/SemaCXX/member-pointer.cpp
@@ -13,7 +13,8 @@ int A::*pdi1;
int (::A::*pdi2);
int (A::*pfi)(int);
-int B::*pbi; // expected-error {{'B' is not a class, namespace, or enumeration}}
+int B::*pbi; // expected-warning{{use of enumeration in a nested name specifier is a C++11 extension}} \
+ // expected-error {{'pbi' does not point into a class}}
int C::*pci; // expected-error {{'pci' does not point into a class}}
void A::*pdv; // expected-error {{'pdv' declared as a member pointer to void}}
int& A::*pdr; // expected-error {{'pdr' declared as a member pointer to a reference}}
OpenPOWER on IntegriCloud