summaryrefslogtreecommitdiff
path: root/gcc/tree-gimple.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/tree-gimple.c')
-rw-r--r--gcc/tree-gimple.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/tree-gimple.c b/gcc/tree-gimple.c
index 7c992b36adc..2deee183964 100644
--- a/gcc/tree-gimple.c
+++ b/gcc/tree-gimple.c
@@ -111,7 +111,7 @@ Boston, MA 02111-1307, USA. */
op0 -> lhs
op1 -> rhs
call-stmt: CALL_EXPR
- op0 -> ID | '&' ID
+ op0 -> ID | '&' ID | OBJ_TYPE_REF
op1 -> arglist
addr-expr-arg : compref | ID
@@ -158,6 +158,7 @@ Boston, MA 02111-1307, USA. */
| unop val
| val binop val
| '(' cast ')' val
+ | method_ref
(cast here stands for all valid C typecasts)
@@ -240,6 +241,7 @@ is_gimple_rhs (tree t)
case STRING_CST:
case COMPLEX_CST:
case VECTOR_CST:
+ case OBJ_TYPE_REF:
return 1;
default:
@@ -493,6 +495,14 @@ is_gimple_cast (tree t)
|| TREE_CODE (t) == FIX_ROUND_EXPR);
}
+/* Return true if T is a valid op0 of a CALL_EXPR. */
+
+bool
+is_gimple_call_addr (tree t)
+{
+ return (TREE_CODE (t) == OBJ_TYPE_REF
+ || is_gimple_val (t));
+}
/* If T makes a function call, return the corresponding CALL_EXPR operand.
Otherwise, return NULL_TREE. */