summaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-06 11:43:31 +0000
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-06 11:43:31 +0000
commit69010134585cf7d98fb44c339b82ee73467ccb05 (patch)
tree4cf2bc8dd32967087e36ff5664d882cd396e5b51 /gcc/calls.c
parent2c694d44b2428673f2ec4177c57f6efda4c91adb (diff)
downloadgcc-69010134585cf7d98fb44c339b82ee73467ccb05.tar.gz
2011-06-06 Mikael Pettersson <mikpe@it.uu.se>
PR tree-optimization/49243 * calls.c (setjmp_call_p): Also check if fndecl has the returns_twice attribute. * gcc.dg/pr49243.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174695 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/calls.c')
-rw-r--r--gcc/calls.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/calls.c b/gcc/calls.c
index f5592c5a6d9..feb98d21c00 100644
--- a/gcc/calls.c
+++ b/gcc/calls.c
@@ -567,6 +567,8 @@ special_function_p (const_tree fndecl, int flags)
int
setjmp_call_p (const_tree fndecl)
{
+ if (DECL_IS_RETURNS_TWICE (fndecl))
+ return ECF_RETURNS_TWICE;
return special_function_p (fndecl, 0) & ECF_RETURNS_TWICE;
}