diff options
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/call.c | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 16ea074..dacc0f9 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2013-03-29 Paolo Carlini <paolo.carlini@oracle.com> + * call.c (build_op_call_1): Use TYPE_PTRFN_P and TYPE_REFFN_P. + +2013-03-29 Paolo Carlini <paolo.carlini@oracle.com> + * call.c (add_builtin_candidate): Use TYPE_PTR_P and VOID_TYPE_P. (build_op_call_1): Likewise. (build_over_call): Likewise. diff --git a/gcc/cp/call.c b/gcc/cp/call.c index 1c368ca..5df6b47 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -4082,13 +4082,10 @@ build_op_call_1 (tree obj, vec<tree, va_gc> **args, tsubst_flags_t complain) tree fns = TREE_VALUE (convs); tree totype = TREE_TYPE (convs); - if ((TYPE_PTR_P (totype) - && TREE_CODE (TREE_TYPE (totype)) == FUNCTION_TYPE) + if (TYPE_PTRFN_P (totype) + || TYPE_REFFN_P (totype) || (TREE_CODE (totype) == REFERENCE_TYPE - && TREE_CODE (TREE_TYPE (totype)) == FUNCTION_TYPE) - || (TREE_CODE (totype) == REFERENCE_TYPE - && TYPE_PTR_P (TREE_TYPE (totype)) - && TREE_CODE (TREE_TYPE (TREE_TYPE (totype))) == FUNCTION_TYPE)) + && TYPE_PTRFN_P (TREE_TYPE (totype)))) for (; fns; fns = OVL_NEXT (fns)) { tree fn = OVL_CURRENT (fns); |