]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/ipa-pure-const.c
2012-07-25 Sandra Loosemore <sandra@codesourcery.com>
authorsandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2012 18:08:06 +0000 (18:08 +0000)
committersandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Jul 2012 18:08:06 +0000 (18:08 +0000)
commit08c6cbd2f55bbb046e5ec82a8933fbd662b4009d
treef42803034e2d99c0fb7f313962516557837e0a57
parentae0426ce089b6f8f536d0b516dc314785360fc7d
2012-07-25  Sandra Loosemore  <sandra@codesourcery.com>
    Paul Brook  <paul@codesourcery.com>

PR target/53633

gcc/
* target.def (warn_func_return): New hook.
* doc/tm.texi.in (TARGET_WARN_FUNC_RETURN): New hook.
* doc/tm.texi: Regenerate.
* doc/sourcebuild.texi (Effective-Target Keywords): Document
naked_functions.
* ipa-pure-const.c (warn_function_noreturn): Check
targetm.warn_func_return.
* tree-cfg.c (execute_warn_function_return): Likewise.
* config/spu/spu.c (spu_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/rx/rx.c (rx_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/avr/avr.c (avr_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/arm/arm.c (arm_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
* config/mcore/mcore.c (mcore_warn_func_return): New.
(TARGET_WARN_FUNC_RETURN): Define.
(saved_warn_return_type, saved_warn_return_type_count): Remove.
(mcore_reorg, mcore_handle_naked_attribute): Remove warn_return hack.

gcc/cp/
* decl.c (finish_function): Check targetm.warn_func_return.

gcc/testsuite/
* lib/target-suports.exp (check_effective_target_naked_functions):
New.
* c-c++-common/pr53633.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189860 138bc75d-0d04-0410-961f-82ee72b054a4
17 files changed:
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/avr/avr.c
gcc/config/mcore/mcore.c
gcc/config/rx/rx.c
gcc/config/spu/spu.c
gcc/cp/ChangeLog
gcc/cp/decl.c
gcc/doc/sourcebuild.texi
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/ipa-pure-const.c
gcc/target.def
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr53633.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp
gcc/tree-cfg.c