aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/call.c9
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);