[PR target/70860] [nvptx] Handle NULL cfun in nvptx_libcall_value

gcc/
	PR target/70860
	* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
	(nvptx_function_value): Assert non-NULL cfun.

From-SVN: r235748
This commit is contained in:
Thomas Schwinge 2016-05-02 13:25:17 +02:00 committed by Thomas Schwinge
parent c408fb34f9
commit e91cacaedb
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2016-05-02 Thomas Schwinge <thomas@codesourcery.com>
PR target/70860
* config/nvptx/nvptx.c (nvptx_libcall_value): Handle NULL cfun.
(nvptx_function_value): Assert non-NULL cfun.
2016-05-02 Eric Botcazou <ebotcazou@adacore.com>
PR rtl-optimization/70886

View File

@ -483,7 +483,7 @@ nvptx_strict_argument_naming (cumulative_args_t cum_v)
static rtx
nvptx_libcall_value (machine_mode mode, const_rtx)
{
if (!cfun->machine->doing_call)
if (!cfun || !cfun->machine->doing_call)
/* Pretend to return in a hard reg for early uses before pseudos can be
generated. */
return gen_rtx_REG (mode, NVPTX_RETURN_REGNUM);
@ -502,6 +502,7 @@ nvptx_function_value (const_tree type, const_tree ARG_UNUSED (func),
if (outgoing)
{
gcc_assert (cfun);
cfun->machine->return_mode = mode;
return gen_rtx_REG (mode, NVPTX_RETURN_REGNUM);
}