summaryrefslogtreecommitdiff
path: root/gcc/builtins.def
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-14 02:55:31 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-04-14 02:55:31 +0000
commit32ef1cd2a46ec9149543ffcd1f58ed438546c634 (patch)
treedd3d088e82001ccf169ac01fc9027aa8ec737b49 /gcc/builtins.def
parent83cdf34abdf3d9d6751156e88b38fa429c8f1db7 (diff)
downloadgcc-32ef1cd2a46ec9149543ffcd1f58ed438546c634.tar.gz
* builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.
(BT_FN_PTR_SIZE_SIZE): Likewise. * builtins.def (BUILT_IN_MALLOC, BUILT_IN_CALLOC, BUILT_IN_STRDUP): New built-in functions for malloc, calloc and strdup respectively. * calls.c (special_function_p): No need to handle malloc-like functions any longer. ECF_MALLOC is set via built-in attributes. * c-decl.c (duplicate_decls): Preserve pure and malloc attributes. * cp/decl.c (duplicate_decls): Preserve pure and malloc attributes. * f/com.c (duplicate_decls): Preserve pure and malloc attributes. * doc/extend.texi: Document these new built-in functions. * gcc.dg/builtins-13.c: New test case. * gcc.dg/builtins-14.c: New test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65560 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.def')
-rw-r--r--gcc/builtins.def16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/builtins.def b/gcc/builtins.def
index 1d456e9f201..f0d118b0dc3 100644
--- a/gcc/builtins.def
+++ b/gcc/builtins.def
@@ -936,3 +936,19 @@ DEF_C99_BUILTIN(BUILT_IN__EXIT2,
BT_FN_VOID_INT,
ATTR_NORETURN_NOTHROW_LIST)
+/* Declare malloc, calloc and strdup. */
+DEF_LIB_BUILTIN(BUILT_IN_MALLOC,
+ "__builtin_malloc",
+ BT_FN_PTR_SIZE,
+ ATTR_MALLOC_NOTHROW_LIST)
+
+DEF_LIB_BUILTIN(BUILT_IN_CALLOC,
+ "__builtin_calloc",
+ BT_FN_PTR_SIZE_SIZE,
+ ATTR_MALLOC_NOTHROW_LIST)
+
+DEF_EXT_LIB_BUILTIN(BUILT_IN_STRDUP,
+ "__builtin_strdup",
+ BT_FN_STRING_CONST_STRING,
+ ATTR_MALLOC_NOTHROW_LIST)
+