summaryrefslogtreecommitdiff
path: root/gcc/extend.texi
diff options
context:
space:
mode:
authorghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-03 03:46:03 +0000
committerghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4>2000-12-03 03:46:03 +0000
commit49f0327b7ddfd2e2ecdd61eda95c6630ed2e58f4 (patch)
tree24241ef620273494e9e408df936e6f35081239e8 /gcc/extend.texi
parentef6c187e8a23acc5e1e17a1fc18304983ea4ea55 (diff)
downloadgcc-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.texi11
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}.