diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2004-04-24 00:50:16 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2004-04-23 22:50:16 +0000 |
commit | d1c38823924506d389ca58d02926ace21bdf82fa (patch) | |
tree | 8f9b0102376621d66e7cba56d6bc27986f106252 /gcc/tree.h | |
parent | adabbcf475e259e77ef3b3d94f2070327955ee0a (diff) | |
download | gcc-d1c38823924506d389ca58d02926ace21bdf82fa.zip gcc-d1c38823924506d389ca58d02926ace21bdf82fa.tar.gz gcc-d1c38823924506d389ca58d02926ace21bdf82fa.tar.bz2 |
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
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -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); |