From d1c38823924506d389ca58d02926ace21bdf82fa Mon Sep 17 00:00:00 2001 From: Zdenek Dvorak Date: Sat, 24 Apr 2004 00:50:16 +0200 Subject: Makefile.in (LIBGCOV): Add _gcov_fork... * Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp, _gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve. * builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID, BT_FN_INT_CONST_STRING_PTR_CONST_STRING, BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New. * builtins.c (expand_builtin_fork_or_exec): New. (expand_builtin): Call it. * builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE, BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New. * c-common.c (PID_TYPE): New macro. (c_common_nodes_and_builtins): Initialize pid_type_node. * calls.c (special_function_p): Do not handle fork and exec. (expand_call): Do not handle ECF_FORK_OR_EXEC. * gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle, __gcov_execv, __gcov_execvp, __gcov_execve): Declare. * libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle, __gcov_execv, __gcov_execvp, __gcov_execve): New. * tree.h (enum tree_index): Add TI_PID_TYPE. (pid_type_node): New macro. (ECF_FORK_OR_EXEC): Removed. From-SVN: r81118 --- gcc/tree.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gcc/tree.h') diff --git a/gcc/tree.h b/gcc/tree.h index 52a17f0..085d5fe 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1992,6 +1992,7 @@ enum tree_index TI_PTR_TYPE, TI_CONST_PTR_TYPE, TI_SIZE_TYPE, + TI_PID_TYPE, TI_PTRDIFF_TYPE, TI_VA_LIST_TYPE, TI_BOOLEAN_TYPE, @@ -2056,6 +2057,7 @@ extern GTY(()) tree global_trees[TI_MAX]; #define const_ptr_type_node global_trees[TI_CONST_PTR_TYPE] /* The C type `size_t'. */ #define size_type_node global_trees[TI_SIZE_TYPE] +#define pid_type_node global_trees[TI_PID_TYPE] #define ptrdiff_type_node global_trees[TI_PTRDIFF_TYPE] #define va_list_type_node global_trees[TI_VA_LIST_TYPE] @@ -3090,18 +3092,17 @@ extern rtx emit_line_note (location_t); #define ECF_LONGJMP 64 /* Nonzero if this is a syscall that makes a new process in the image of the current one. */ -#define ECF_FORK_OR_EXEC 128 -#define ECF_SIBCALL 256 +#define ECF_SIBCALL 128 /* Nonzero if this is a call to "pure" function (like const function, but may read memory. */ -#define ECF_PURE 512 +#define ECF_PURE 256 /* Nonzero if this is a call to a function that returns with the stack pointer depressed. */ -#define ECF_SP_DEPRESSED 1024 +#define ECF_SP_DEPRESSED 512 /* Nonzero if this call is known to always return. */ -#define ECF_ALWAYS_RETURN 2048 +#define ECF_ALWAYS_RETURN 1024 /* Create libcall block around the call. */ -#define ECF_LIBCALL_BLOCK 4096 +#define ECF_LIBCALL_BLOCK 2048 extern int flags_from_decl_or_type (tree); extern int call_expr_flags (tree); -- cgit v1.1