aboutsummaryrefslogtreecommitdiff
path: root/gcc/extend.texi
diff options
context:
space:
mode:
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>2000-12-03 03:46:03 +0000
committerKaveh Ghazi <ghazi@gcc.gnu.org>2000-12-03 03:46:03 +0000
commitd118937d79ce5f32fcc7b09acb932e559a2c16e9 (patch)
tree24241ef620273494e9e408df936e6f35081239e8 /gcc/extend.texi
parentca8034a0ea78638a2c9cdc54b13274fcb78fdfa4 (diff)
downloadgcc-d118937d79ce5f32fcc7b09acb932e559a2c16e9.zip
gcc-d118937d79ce5f32fcc7b09acb932e559a2c16e9.tar.gz
gcc-d118937d79ce5f32fcc7b09acb932e559a2c16e9.tar.bz2
builtins.c (expand_builtin_strcat, [...]): New functions.
* 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. From-SVN: r37964
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 bf60bca..bfb9da5 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}.