calls.c (ECF_MALLOC, [...]): New constants.
* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE, ECF_LONGJMP, ECF_FORK_OR_EXEC): New constants. (ECF_IS_CONST): Rename to ECF_CONST. (special_function_p): Make static, change interface. (flags_from_decl_or_type, try_to_integrate): Break out from ... (expand_call) ... here; convert number of variables to flags. (emit_library_call_vlue_1): Likewise. (setjmp_call_p): New function. (initialize_argument_information): Accepts flags as argument; return flags. (precompute_arguments): Likewise. * tree.h (special_function_p): Remove. (setjmp_call_p): Add prototype. From-SVN: r32904
This commit is contained in:
parent
be340b974a
commit
f2d33f1321
|
@ -1,3 +1,19 @@
|
|||
Tue Apr 4 19:17:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
|
||||
|
||||
* calls.c (ECF_MALLOC, ECF_MAY_BE_ALLOCA, ECF_RETURNS_TWICE,
|
||||
ECF_LONGJMP, ECF_FORK_OR_EXEC): New constants.
|
||||
(ECF_IS_CONST): Rename to ECF_CONST.
|
||||
(special_function_p): Make static, change interface.
|
||||
(flags_from_decl_or_type, try_to_integrate): Break out from ...
|
||||
(expand_call) ... here; convert number of variables to flags.
|
||||
(emit_library_call_vlue_1): Likewise.
|
||||
(setjmp_call_p): New function.
|
||||
(initialize_argument_information): Accepts flags as argument;
|
||||
return flags.
|
||||
(precompute_arguments): Likewise.
|
||||
* tree.h (special_function_p): Remove.
|
||||
(setjmp_call_p): Add prototype.
|
||||
|
||||
2000-04-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/sparc/sparc.h (RTX_OK_FOR_OFFSET_P): Leave minor margin
|
||||
|
|
726
gcc/calls.c
726
gcc/calls.c
File diff suppressed because it is too large
Load Diff
|
@ -748,20 +748,11 @@ calls_setjmp_r (tp, walk_subtrees, data)
|
|||
int *walk_subtrees ATTRIBUTE_UNUSED;
|
||||
void *data ATTRIBUTE_UNUSED;
|
||||
{
|
||||
int setjmp_p;
|
||||
int longjmp_p;
|
||||
int fork_or_exec_p;
|
||||
int malloc_p;
|
||||
int alloca_p;
|
||||
|
||||
/* We're only interested in FUNCTION_DECLS. */
|
||||
if (TREE_CODE (*tp) != FUNCTION_DECL)
|
||||
return NULL_TREE;
|
||||
|
||||
special_function_p (*tp, &setjmp_p, &longjmp_p, &fork_or_exec_p, &malloc_p,
|
||||
&alloca_p);
|
||||
|
||||
return setjmp_p ? *tp : NULL_TREE;
|
||||
return setjmp_call_p (*tp);
|
||||
}
|
||||
|
||||
/* Returns non-zero if FN calls `setjmp' or some other function that
|
||||
|
|
|
@ -2551,8 +2551,9 @@ extern struct rtx_def *emit_line_note PARAMS ((const char *, int));
|
|||
extern struct rtx_def *emit_line_note_force PARAMS ((const char *, int));
|
||||
|
||||
/* In calls.c */
|
||||
extern void special_function_p PARAMS ((tree, int *, int *,
|
||||
int *, int *, int *));
|
||||
|
||||
/* Flags used by special_function_p. */
|
||||
extern int setjmp_call_p PARAMS ((tree));
|
||||
|
||||
/* In c-typeck.c */
|
||||
extern int mark_addressable PARAMS ((tree));
|
||||
|
|
Loading…
Reference in New Issue