diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-03 03:46:03 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-12-03 03:46:03 +0000 |
commit | 49f0327b7ddfd2e2ecdd61eda95c6630ed2e58f4 (patch) | |
tree | 24241ef620273494e9e408df936e6f35081239e8 /gcc/extend.texi | |
parent | ef6c187e8a23acc5e1e17a1fc18304983ea4ea55 (diff) | |
download | gcc-49f0327b7ddfd2e2ecdd61eda95c6630ed2e58f4.tar.gz |
* builtins.c (expand_builtin_strcat, expand_builtin_strncat,
expand_builtin_strspn, expand_builtin_strcspn): New functions.
(expand_builtin): Handle BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
BUILT_IN_STRSPN and BUILT_IN_STRCSPN.
* builtins.def (BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
BUILT_IN_STRSPN, BUILT_IN_STRCSPN): New entries.
* c-common.c (c_common_nodes_and_builtins): Declare builtin
strcat, strncat, strspn and strcspn.
(string_ftype_string_cstring): Renamed from `string_ftype_ptr_ptr'.
* extend.texi (strcat, strcspn, strncat, strspn): Document new
builtins.
testsuite:
* gcc.c-torture/execute/string-opt-9.c: New test.
* gcc.c-torture/execute/string-opt-10.c: Likewise.
* gcc.c-torture/execute/string-opt-11.c: Likewise.
* gcc.c-torture/execute/string-opt-12.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@37964 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/extend.texi')
-rw-r--r-- | gcc/extend.texi | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/gcc/extend.texi b/gcc/extend.texi index bf60bca726d..bfb9da5cecd 100644 --- a/gcc/extend.texi +++ b/gcc/extend.texi @@ -3311,14 +3311,18 @@ function as well. @findex sqrt @findex sqrtf @findex sqrtl +@findex strcat @findex strchr @findex strcmp @findex strcpy +@findex strcspn @findex strlen +@findex strncat @findex strncmp @findex strncpy @findex strpbrk @findex strrchr +@findex strspn @findex strstr GNU CC provides a large number of built-in functions other than the ones @@ -3361,9 +3365,10 @@ corresponding versions prefixed with @code{__builtin_}. The following ISO C89 functions are recognized as builtins unless @samp{-fno-builtin} is specified: @code{abs}, @code{cos}, @code{fabs}, @code{fputs}, @code{labs}, @code{memcmp}, @code{memcpy}, @code{memset}, -@code{printf}, @code{sin}, @code{sqrt}, @code{strchr}, @code{strcmp}, -@code{strcpy}, @code{strlen}, @code{strncmp}, @code{strncpy}, -@code{strpbrk}, @code{strrchr}, and @code{strstr}. All of these +@code{printf}, @code{sin}, @code{sqrt}, @code{strcat}, @code{strchr}, +@code{strcmp}, @code{strcpy}, @code{strcspn}, @code{strlen}, +@code{strncat}, @code{strncmp}, @code{strncpy}, @code{strpbrk}, +@code{strrchr}, @code{strspn}, and @code{strstr}. All of these functions have corresponding versions prefixed with @code{__builtin_}, except that the version for @code{sqrt} is called @code{__builtin_fsqrt}. |