diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-19 05:14:25 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-07-19 05:14:25 +0000 |
commit | 627404699293d888d55d9a9cf80ca8347e7b3536 (patch) | |
tree | 14b4e81aeb5fe478e03d615ee6c38c50b97b35b3 /gcc/cp/semantics.c | |
parent | 99d2e279e9fc2f616f5dc829937723e337ed4e0e (diff) | |
download | gcc-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.c | 8 |
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); } |