aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDodji Seketeli <dodji@redhat.com>2009-08-04 19:49:48 +0000
committerDodji Seketeli <dodji@gcc.gnu.org>2009-08-04 21:49:48 +0200
commit3693f2667550f29bde20f910c8e9ba4854114878 (patch)
tree879ae601983a0828fc4d30c7298b9889352b4166 /gcc
parent4eb0668e9b11a2de0c2003ffb1492531702561aa (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/cp/pt.c4
-rw-r--r--gcc/testsuite/ChangeLog5
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