diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2008-02-12 17:26:34 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2008-02-12 12:26:34 -0500 |
commit | 43854f724a2bb2031e45626c43a9e6902c5639e8 (patch) | |
tree | 4d389600d867c0074a21231f76233961dc9a6602 /gcc | |
parent | e4d25d9dc3aa117ed3ae7c35bdb190aa33a4550a (diff) | |
download | gcc-43854f724a2bb2031e45626c43a9e6902c5639e8.zip gcc-43854f724a2bb2031e45626c43a9e6902c5639e8.tar.gz gcc-43854f724a2bb2031e45626c43a9e6902c5639e8.tar.bz2 |
re PR c++/29048 ("`x' is private" error duplicated when scope specified)
PR c++/29048
* semantics.c (finish_qualified_id_expr): Avoid duplicate access
check here, too.
From-SVN: r132261
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 943eef3..0fc1c1e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2008-02-12 Steven Bosscher <steven@gcc.gnu.org> + + PR c++/29048 + * semantics.c (finish_qualified_id_expr): Avoid duplicate access + check here, too. + 2008-02-12 Jakub Jelinek <jakub@redhat.com> PR c++/34862 diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 928975a..49dd80e 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1620,8 +1620,12 @@ finish_qualified_id_expr (tree qualifying_class, transformation, as there is no "this" pointer. */ ; else if (TREE_CODE (expr) == FIELD_DECL) - expr = finish_non_static_data_member (expr, current_class_ref, - qualifying_class); + { + push_deferring_access_checks (dk_no_check); + expr = finish_non_static_data_member (expr, current_class_ref, + qualifying_class); + pop_deferring_access_checks (); + } else if (BASELINK_P (expr) && !processing_template_decl) { tree fns; |