* cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
3 following insns.
* gcc.c-torture/compile/
20060823-1.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116467
138bc75d-0d04-0410-961f-
82ee72b054a4
+2006-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/28683
+ * cfgexpand.c (add_reg_br_prob_note): Check if last has exactly
+ 3 following insns.
+
2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
* flow.c (verify_wide_reg): Use internal_error for consistency failure.
if (!any_condjump_p (last)
|| !JUMP_P (NEXT_INSN (last))
|| !simplejump_p (NEXT_INSN (last))
+ || !NEXT_INSN (NEXT_INSN (last))
|| !BARRIER_P (NEXT_INSN (NEXT_INSN (last)))
+ || !NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))
|| !LABEL_P (NEXT_INSN (NEXT_INSN (NEXT_INSN (last))))
|| NEXT_INSN (NEXT_INSN (NEXT_INSN (NEXT_INSN (last)))))
goto failed;
+2006-08-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/28683
+ * gcc.c-torture/compile/20060823-1.c: New test.
+
2006-08-25 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
PR c++/28853
--- /dev/null
+/* PR middle-end/28683 */
+
+extern void foo (int *);
+
+struct A
+{
+ int f;
+};
+
+struct A *
+test (struct A *r)
+{
+ int *f = &r->f;
+ static int i = 0;
+ if (!i && !((void *) f == (void *) r))
+ foo (&i);
+ return r;
+}