aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-06-17 16:07:53 -0400
committerJason Merrill <jason@gcc.gnu.org>2011-06-17 16:07:53 -0400
commit7e7666aed8caa20d3351147e6875292ca27cf1d9 (patch)
tree19b956c05e12d0fdd731524c1e708c1370442e6a
parent806010b9faf8e87d4bbdb01f0912801796f30708 (diff)
downloadgcc-7e7666aed8caa20d3351147e6875292ca27cf1d9.zip
gcc-7e7666aed8caa20d3351147e6875292ca27cf1d9.tar.gz
gcc-7e7666aed8caa20d3351147e6875292ca27cf1d9.tar.bz2
name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals.
* name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing of artificial locals. From-SVN: r175157
-rw-r--r--gcc/cp/ChangeLog3
-rw-r--r--gcc/cp/name-lookup.c5
2 files changed, 3 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index baa4899..f84bc45 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,8 @@
2011-06-17 Jason Merrill <jason@redhat.com>
+ * name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
+ of artificial locals.
+
* parser.c (cp_parser_lambda_expression): Clear
LAMBDA_EXPR_THIS_CAPTURE after parsing.
* pt.c (tsubst_copy_and_build): Make sure it isn't set.
diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c
index 16b991d..64a0f9a 100644
--- a/gcc/cp/name-lookup.c
+++ b/gcc/cp/name-lookup.c
@@ -1022,11 +1022,6 @@ pushdecl_maybe_friend_1 (tree x, bool is_friend)
|| (TREE_CODE (oldlocal) == TYPE_DECL
&& (!DECL_ARTIFICIAL (oldlocal)
|| TREE_CODE (x) == TYPE_DECL)))
- /* Don't check the `this' parameter or internally generated
- vars unless it's an implicit typedef (see
- create_implicit_typedef in decl.c). */
- && (!DECL_ARTIFICIAL (oldlocal)
- || DECL_IMPLICIT_TYPEDEF_P (oldlocal))
/* Don't check for internally generated vars unless
it's an implicit typedef (see create_implicit_typedef
in decl.c). */