re PR middle-end/11151 (__builtin_return(__builtin_apply(...)) gives wrong result)
authorEric Botcazou <ebotcazou@libertysurf.fr>
Fri, 5 Dec 2003 06:46:35 +0000 (07:46 +0100)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Fri, 5 Dec 2003 06:46:35 +0000 (06:46 +0000)
commit6e3077c6087cfcf64d814641adc019a2a85c763e
treead0e21ca2e7c1cb2a9d00489abf7bf7d0bc9fb0e
parented31a8173b85434c124d5627ae9265f6ea0c6c6a
re PR middle-end/11151 (__builtin_return(__builtin_apply(...)) gives wrong result)

PR middle-end/11151
* function.h (struct function): New field 'x_naked_return_label'.
* function.c (free_after_compilation): Set it to NULL.
(expand_function_end): Emit 'naked_return_label' if it exists.
* rtl.h (expand_naked_return): Declare.
* stmt.c (expand_naked_return): New function to generate a
jump to 'naked_return_label'.
* builtins.c (expand_builtin_return): Call expand_naked_return
instead of expand_null_return.
* config/sparc/sparc.md (untyped_return): Likewise.

From-SVN: r74312
gcc/ChangeLog
gcc/builtins.c
gcc/config/sparc/sparc.md
gcc/function.c
gcc/function.h
gcc/rtl.h
gcc/stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtin-return-1.c [new file with mode: 0644]