summaryrefslogtreecommitdiff
path: root/gcc/cp/semantics.c
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-19 05:14:25 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2006-07-19 05:14:25 +0000
commit627404699293d888d55d9a9cf80ca8347e7b3536 (patch)
tree14b4e81aeb5fe478e03d615ee6c38c50b97b35b3 /gcc/cp/semantics.c
parent99d2e279e9fc2f616f5dc829937723e337ed4e0e (diff)
downloadgcc-627404699293d888d55d9a9cf80ca8347e7b3536.tar.gz
PR c++/28048
* semantics.c (check_accessibility_of_qualified_id): Robustify. PR c++/28048 * g++.dg/template/defarg9.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115579 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r--gcc/cp/semantics.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 951f9f4bd59..4577bd386f9 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -1506,9 +1506,11 @@ check_accessibility_of_qualified_id (tree decl,
its bases. */
qualifying_type = currently_open_derived_class (scope);
- if (qualifying_type && IS_AGGR_TYPE_CODE (TREE_CODE (qualifying_type)))
- /* It is possible for qualifying type to be a TEMPLATE_TYPE_PARM
- or similar in a default argument value. */
+ if (qualifying_type
+ /* It is possible for qualifying type to be a TEMPLATE_TYPE_PARM
+ or similar in a default argument value. */
+ && CLASS_TYPE_P (qualifying_type)
+ && !dependent_type_p (qualifying_type))
perform_or_defer_access_check (TYPE_BINFO (qualifying_type), decl);
}