+2016-08-09 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/71981
+ * ipa-polymorphic-call.c (get_dynamic_type): Bail out gracefully
+ if instance is a MEM_REF.
+
2016-08-09 Uros Bizjak <ubizjak@gmail.com>
PR target/72843
if (!maybe_in_construction && !maybe_derived_type)
return false;
+ /* If we are in fact not looking at any object object or the instance is
+ some placement new into a random load, give up straight away. */
+ if (TREE_CODE (instance) == MEM_REF)
+ return false;
+
/* We need to obtain refernce to virtual table pointer. It is better
to look it up in the code rather than build our own. This require bit
of pattern matching, but we end up verifying that what we found is
tci.offset = instance_offset;
tci.instance = instance;
tci.vtbl_ptr_ref = instance_ref;
- gcc_assert (TREE_CODE (instance) != MEM_REF);
tci.known_current_type = NULL_TREE;
tci.known_current_offset = 0;
tci.otr_type = otr_type;
+2016-08-09 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/71981
+ * gcc.dg/ipa/pr71981.c: New test.
+
2016-08-09 Bin Cheng <bin.cheng@arm.com>
PR tree-optimization/33707
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-O2 -w" } */
+
+int **a;
+static void fn1(char **p1) {
+ char s = *p1, b = &s;
+ while (*fn2()[a])
+ ;
+}
+int main() { fn1(""); return 0; }