diff options
author | Dodji Seketeli <dodji@redhat.com> | 2009-08-04 19:49:48 +0000 |
---|---|---|
committer | Dodji Seketeli <dodji@gcc.gnu.org> | 2009-08-04 21:49:48 +0200 |
commit | 3693f2667550f29bde20f910c8e9ba4854114878 (patch) | |
tree | 879ae601983a0828fc4d30c7298b9889352b4166 /gcc | |
parent | 4eb0668e9b11a2de0c2003ffb1492531702561aa (diff) | |
download | gcc-3693f2667550f29bde20f910c8e9ba4854114878.zip gcc-3693f2667550f29bde20f910c8e9ba4854114878.tar.gz gcc-3693f2667550f29bde20f910c8e9ba4854114878.tar.bz2 |
re PR c++/39987 (Rejects default argument that is a template via access failure)
2009-08-04 Dodji Seketeli <dodji@redhat.com>
gcc/cp/ChangeLog:
PR c++/39987
* pt.c (tsubst_default_argument): Let access checks of the
default argument happen in the context of the current function.
gcc/testsuite/ChangeLog:
PR c++/39987
* g++.dg/overload/defarg4.C: New test.
From-SVN: r150467
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/pt.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 |
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 71fed72..970b6dc 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2009-08-04 Dodji Seketeli <dodji@redhat.com> + + PR c++/39987 + * pt.c (tsubst_default_argument): Let access checks of the + default argument happen in the context of the current function. + 2009-08-04 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/16696 diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index ed45324..c0c61c5 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -8253,11 +8253,11 @@ tsubst_default_argument (tree fn, tree type, tree arg) cp_function_chain->x_current_class_ref = saved_class_ref; } - pop_access_scope (fn); - /* Make sure the default argument is reasonable. */ arg = check_default_argument (type, arg); + pop_access_scope (fn); + return arg; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cecd2a1..0d4378c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2009-08-04 Dodji Seketeli <dodji@redhat.com> + + PR c++/39987 + * g++.dg/overload/defarg4.C: New test. + 2009-08-04 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/16696 |