diff options
author | Jason Merrill <jason@redhat.com> | 2013-03-28 14:20:37 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2013-03-28 14:20:37 -0400 |
commit | c561e95201474d7951cbd7a09195b7f3b412d1e9 (patch) | |
tree | 1d3f14b22fb360cb249d5f55ea77042cf3d48cc3 /gcc | |
parent | 477e1843fd13958fbecafeb540a8876146a61e3a (diff) | |
download | gcc-c561e95201474d7951cbd7a09195b7f3b412d1e9.zip gcc-c561e95201474d7951cbd7a09195b7f3b412d1e9.tar.gz gcc-c561e95201474d7951cbd7a09195b7f3b412d1e9.tar.bz2 |
name-lookup.c (pushdecl_maybe_friend_1): Use nonlambda_method_basetype and current_nonlambda_class_type.
* name-lookup.c (pushdecl_maybe_friend_1): Use
nonlambda_method_basetype and current_nonlambda_class_type.
From-SVN: r197210
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/cp/name-lookup.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/lambda/lambda-shadow2.C | 10 |
3 files changed, 15 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 164c797..b204153 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2013-03-28 Jason Merrill <jason@redhat.com> + * name-lookup.c (pushdecl_maybe_friend_1): Use + nonlambda_method_basetype and current_nonlambda_class_type. + PR c++/56728 * semantics.c (potential_constant_expression_1) [NOP_EXPR]: Reject conversion from integer to pointer. diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 0a0915a..e2ef75b 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -1163,8 +1163,8 @@ pushdecl_maybe_friend_1 (tree x, bool is_friend) { tree member; - if (current_class_ptr) - member = lookup_member (current_class_type, + if (nonlambda_method_basetype ()) + member = lookup_member (current_nonlambda_class_type (), name, /*protect=*/0, /*want_type=*/false, diff --git a/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-shadow2.C b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-shadow2.C new file mode 100644 index 0000000..8237a81 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/lambda/lambda-shadow2.C @@ -0,0 +1,10 @@ +// { dg-options "-std=c++11 -Wshadow" } + +struct A +{ + int i; + void f() + { + [=]{ int i; }; // { dg-warning "shadows" } + } +}; |