diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2015-01-18 20:04:35 +0000 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2015-01-18 20:04:35 +0000 |
commit | 25a8afa9579e79eedac113e15e1afaa6acc1e2a0 (patch) | |
tree | 4d904b9badc9fedb05bd65a0e3b902c530e9d60c /clang/test/SemaCXX/member-pointer.cpp | |
parent | 4843f193ade5020d8722ce85826e183b0a676203 (diff) | |
download | bcm5719-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.cpp | 3 |
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}} |