@@ -678,7 +678,9 @@ modref_access_node::get_ao_ref (const gcall *stmt, ao_ref *ref) const
{
tree arg;
- if (!parm_offset_known || !(arg = get_call_arg (stmt)))
+ if (!parm_offset_known
+ || !(arg = get_call_arg (stmt))
+ || !POINTER_TYPE_P (TREE_TYPE (arg)))
return false;
poly_offset_int off = (poly_offset_int)offset
+ ((poly_offset_int)parm_offset << LOG2_BITS_PER_UNIT);
new file mode 100644
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+
+int bar (foo, a)
+ int (**foo) ();
+ int a;
+{
+ (foo)[1] = bar;
+ foo[1] (1);
+}