Commit 0529235d by Eric Botcazou Committed by Eric Botcazou

re PR ada/70017 (c52103x and c52104x test failure on s390x)

	PR ada/70017
	* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
	the libcall is LCT_THROW.
	* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
	for the checking routine.

From-SVN: r234160
parent 3f1e5d3a
2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
PR ada/70017
* calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
the libcall is LCT_THROW.
* explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
for the checking routine.
2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/70131
......
......@@ -3852,7 +3852,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
reg_parm_stack_space = REG_PARM_STACK_SPACE ((tree) 0);
#endif
/* By default, library functions can not throw. */
/* By default, library functions cannot throw. */
flags = ECF_NOTHROW;
switch (fn_type)
......@@ -3869,7 +3869,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value,
flags |= ECF_NORETURN;
break;
case LCT_THROW:
flags = ECF_NORETURN;
flags &= ~ECF_NOTHROW;
break;
case LCT_RETURNS_TWICE:
flags = ECF_RETURNS_TWICE;
......
......@@ -1566,7 +1566,7 @@ probe_stack_range (HOST_WIDE_INT first, rtx size)
stack_pointer_rtx,
plus_constant (Pmode,
size, first)));
emit_library_call (stack_check_libfunc, LCT_NORMAL, VOIDmode, 1, addr,
emit_library_call (stack_check_libfunc, LCT_THROW, VOIDmode, 1, addr,
Pmode);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment