From 26d1c5fff7f1a1e7c6430d667eb0ad19b329b5e0 Mon Sep 17 00:00:00 2001 From: rth Date: Tue, 8 Mar 2005 13:19:40 +0000 Subject: 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96101 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/tree.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index acbfc93eaa6..aba12246f78 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 -- cgit v1.2.1