Backported from mainline
2017-02-21 Jakub Jelinek <jakub@redhat.com>
PR target/79494
* config/i386/i386.c (ix86_expand_split_stack_prologue): Call
make_reg_eh_region_note_nothrow_nononlocal on call_insn.
* gcc.dg/pr79494.c: New test.
From-SVN: r248646
2017-05-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2017-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/79494
+ * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
+ make_reg_eh_region_note_nothrow_nononlocal on call_insn.
+
2017-02-20 Jakub Jelinek <jakub@redhat.com>
PR target/79568
GEN_INT (UNITS_PER_WORD), constm1_rtx,
NULL_RTX, false);
add_function_usage_to (call_insn, call_fusage);
+ /* Indicate that this function can't jump to non-local gotos. */
+ make_reg_eh_region_note_nothrow_nononlocal (as_a <rtx_insn *> (call_insn));
/* In order to make call/return prediction work right, we now need
to execute a return instruction. See
2017-05-30 Jakub Jelinek <jakub@redhat.com>
Backported from mainline
+ 2017-02-21 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/79494
+ * gcc.dg/pr79494.c: New test.
+
2017-02-20 Jakub Jelinek <jakub@redhat.com>
PR target/79568
--- /dev/null
+/* PR target/79494 */
+/* { dg-do compile } */
+/* { dg-require-effective-target split_stack } */
+/* { dg-options "-O2 -fsplit-stack -g" } */
+
+void
+foo (int a)
+{
+ __label__ lab;
+ __attribute__((noinline, noclone)) void bar (int b)
+ {
+ switch (b)
+ {
+ case 1:
+ goto lab;
+ case 2:
+ goto lab;
+ }
+ }
+ bar (a);
+lab:;
+}