aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorAlexey Neyman <alex.neyman@auriga.ru>2005-03-08 13:19:40 +0000
committerRichard Henderson <rth@gcc.gnu.org>2005-03-08 05:19:40 -0800
commit6e9a32219ba643ca53c2b68822f0eddbf3280503 (patch)
treecdc25a73277e939285d67c67cd208d1cd34a0bc2 /gcc/tree.h
parent25d8d27de5150007e26f4cb3397b823af63c5344 (diff)
downloadgcc-6e9a32219ba643ca53c2b68822f0eddbf3280503.zip
gcc-6e9a32219ba643ca53c2b68822f0eddbf3280503.tar.gz
gcc-6e9a32219ba643ca53c2b68822f0eddbf3280503.tar.bz2
re PR c/14411 (Request for setjmp/longjmp attributes)
PR c/14411 * calls.c (flags_from_decl_or_type): Handle eturns_twice' attribute. * c-common.c (handle_returns_twice): New function. (c_common_attribute_table): Declare eturns_twice' attribute. * doc/extend.texi: Document eturns_twice' attribute. * tree.h (DECL_IS_RETURNS_TWICE): New macro. (struct tree_decl): Add returns_twice_flag. From-SVN: r96101
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index acbfc93..aba1224 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2176,6 +2176,11 @@ struct tree_binfo GTY (())
not an alias. */
#define DECL_IS_MALLOC(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.malloc_flag)
+/* Nonzero in a FUNCTION_DECL means this function may return more
+ than once. */
+#define DECL_IS_RETURNS_TWICE(NODE) \
+ (FUNCTION_DECL_CHECK (NODE)->decl.returns_twice_flag)
+
/* Nonzero in a FUNCTION_DECL means this function should be treated
as "pure" function (like const function, but may read global memory). */
#define DECL_IS_PURE(NODE) (FUNCTION_DECL_CHECK (NODE)->decl.pure_flag)
@@ -2377,7 +2382,8 @@ struct tree_decl GTY(())
unsigned preserve_flag: 1;
unsigned gimple_formal_temp : 1;
unsigned debug_expr_is_from : 1;
- /* 12 unused bits. */
+ unsigned returns_twice_flag : 1;
+ /* 11 unused bits. */
union tree_decl_u1 {
/* In a FUNCTION_DECL for which DECL_BUILT_IN holds, this is