diff options
Diffstat (limited to 'gcc/cp/pt.c')
-rw-r--r-- | gcc/cp/pt.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 21d3536..b3b8106 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -9447,6 +9447,12 @@ unify (tparms, targs, parm, arg, strict) } else { + /* If ARG is an offset type, we're trying to unify '*T' with + 'U C::*', which is ill-formed. See the comment in the + POINTER_TYPE case about this ugliness. */ + if (TREE_CODE (arg) == OFFSET_TYPE) + return 1; + /* If PARM is `const T' and ARG is only `int', we don't have a match unless we are allowing additional qualification. If ARG is `const int' and PARM is just `T' that's OK; |