diff options
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r-- | gcc/cp/class.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 9af238b..a67b34a 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -5980,7 +5980,17 @@ resolves_to_fixed_type_p (tree instance, int* nonnull) { tree t = TREE_TYPE (instance); int cdtorp = 0; - tree fixed = fixed_type_or_null (instance, nonnull, &cdtorp); + tree fixed; + + if (processing_template_decl) + { + /* In a template we only care about the type of the result. */ + if (nonnull) + *nonnull = true; + return true; + } + + fixed = fixed_type_or_null (instance, nonnull, &cdtorp); if (fixed == NULL_TREE) return 0; if (POINTER_TYPE_P (t)) |