Backported from mainline
2019-04-24 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/90208
* tree-cfg.c (remove_bb): Move forced labels from removed bbs
after labels of new_bb, not before them.
* gcc.dg/tsan/pr90208-2.c: New test.
From-SVN: r275151
2019-08-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2019-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/90208
+ * tree-cfg.c (remove_bb): Move forced labels from removed bbs
+ after labels of new_bb, not before them.
+
2019-04-16 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/90082
2019-08-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2019-04-24 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/90208
+ * gcc.dg/tsan/pr90208-2.c: New test.
+
2019-04-19 Jakub Jelinek <jakub@redhat.com>
PR c++/90108
--- /dev/null
+/* PR tree-optimization/90208 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fexceptions -fsanitize=thread" } */
+
+void *b[5];
+void foo (void);
+
+void
+bar (int d)
+{
+ while (d)
+ foo ();
+}
+
+void
+baz (void)
+{
+ bar (2);
+ __builtin_setjmp (b);
+}
}
new_bb = bb->prev_bb;
- new_gsi = gsi_start_bb (new_bb);
+ new_gsi = gsi_after_labels (new_bb);
gsi_remove (&i, false);
gsi_insert_before (&new_gsi, stmt, GSI_NEW_STMT);
}