diff options
author | Jason Merrill <jason@redhat.com> | 2011-05-24 19:44:59 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-05-24 19:44:59 -0400 |
commit | f52f3c6dab8faaba5db2b7c1fb558134210d8b93 (patch) | |
tree | 4216f7f45aa36e01e847d24d3ffa5d1ce9dda49d /gcc/cp | |
parent | b850be9d50210da752443e730723285bbd1b7c96 (diff) | |
download | gcc-f52f3c6dab8faaba5db2b7c1fb558134210d8b93.zip gcc-f52f3c6dab8faaba5db2b7c1fb558134210d8b93.tar.gz gcc-f52f3c6dab8faaba5db2b7c1fb558134210d8b93.tar.bz2 |
re PR c++/49042 ([C++0x] wrong "protected" when using template and decltype)
PR c++/49042
* pt.c (get_mostly_instantiated_function_type): Use
push_deferring_access_checks rather than set flag_access_control.
From-SVN: r174151
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 6397194..d9d8a54 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2011-05-24 Jason Merrill <jason@redhat.com> + + PR c++/49042 + * pt.c (get_mostly_instantiated_function_type): Use + push_deferring_access_checks rather than set flag_access_control. + 2011-05-24 Nicola Pero <nicola.pero@meta-innovation.com>, * parser.c (cp_parser_objc_class_ivars): Deal gracefully with a diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 98844c3..bd9aeba 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -18045,7 +18045,7 @@ get_mostly_instantiated_function_type (tree decl) ; else { - int i, save_access_control; + int i; tree partial_args; /* Replace the innermost level of the TARGS with NULL_TREEs to @@ -18060,8 +18060,7 @@ get_mostly_instantiated_function_type (tree decl) /* Disable access control as this function is used only during name-mangling. */ - save_access_control = flag_access_control; - flag_access_control = 0; + push_deferring_access_checks (dk_no_check); ++processing_template_decl; /* Now, do the (partial) substitution to figure out the @@ -18076,7 +18075,7 @@ get_mostly_instantiated_function_type (tree decl) TREE_VEC_LENGTH (partial_args)--; tparms = tsubst_template_parms (tparms, partial_args, tf_error); - flag_access_control = save_access_control; + pop_deferring_access_checks (); } return fn_type; |