diff options
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 9a00d0d..ea82621 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -20930,7 +20930,13 @@ dependent_type_p_r (tree type) return true; /* ... or any of the template arguments is a dependent type or an expression that is type-dependent or value-dependent. */ - else if (TYPE_TEMPLATE_INFO (type) + else if (CLASS_TYPE_P (type) && CLASSTYPE_TEMPLATE_INFO (type) + && (any_dependent_template_arguments_p + (INNERMOST_TEMPLATE_ARGS (CLASSTYPE_TI_ARGS (type))))) + return true; + /* For an alias template specialization, check the arguments both to the + class template and the alias template. */ + else if (alias_template_specialization_p (type) && (any_dependent_template_arguments_p (INNERMOST_TEMPLATE_ARGS (TYPE_TI_ARGS (type))))) return true; |