aboutsummaryrefslogtreecommitdiff
path: root/gcc/calls.c
diff options
context:
space:
mode:
authorMikael Pettersson <mikpe@it.uu.se>2011-06-06 13:43:31 +0200
committerRichard Biener <rguenth@gcc.gnu.org>2011-06-06 11:43:31 +0000
commit275311c494a330790748a27d28fa494bd4a18933 (patch)
tree4cf2bc8dd32967087e36ff5664d882cd396e5b51 /gcc/calls.c
parent38fbfaf6fb23fdcd130cc524839686b9ad28f752 (diff)
downloadgcc-275311c494a330790748a27d28fa494bd4a18933.zip
gcc-275311c494a330790748a27d28fa494bd4a18933.tar.gz
gcc-275311c494a330790748a27d28fa494bd4a18933.tar.bz2
re PR tree-optimization/49243 (attribute((returns_twice)) doesn't work)
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. From-SVN: r174695
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 f5592c5..feb98d2 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;
}