diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2003-05-04 22:18:17 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2003-05-04 22:18:17 +0000 |
commit | 003620645c6adf8fb4380846fe11124fc05a2e87 (patch) | |
tree | 10df2a1679aeee49958f47f877d8ad19884d6165 /gcc/builtin-attrs.def | |
parent | 05c30f2224a84ad72acd6f05de973c07fd3665ca (diff) | |
download | gcc-003620645c6adf8fb4380846fe11124fc05a2e87.tar.gz |
builtin-attrs.def (ATTR_NOTHROW_NONNULL_1, [...]): Renamed from ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
gcc:
* builtin-attrs.def (ATTR_NOTHROW_NONNULL_1,
ATTR_NOTHROW_NONNULL_2, ATTR_NOTHROW_NONNULL_3): Renamed from
ATTR_NONNULL_1, ATTR_NONNULL_2 and ATTR_NONNULL_3.
(ATTR_NOTHROW_NONNULL_1_2, ATTR_NOTHROW_NONNULL_1_4,
ATTR_CONST_NOTHROW_NONNULL_1, ATTR_PURE_NOTHROW_NONNULL_1,
ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_MALLOC_NOTHROW_NONNULL_1):
New.
* builtins.def (DEF_EXT_FALLBACK_BUILTIN): Accept ATTRS argument.
(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Update comment
(BUILT_IN_INDEX, BUILT_IN_RINDEX, BUILT_IN_MEMCPY,
BUILT_IN_MEMMOVE, BUILT_IN_MEMCMP, BUILT_IN_MEMSET,
BUILT_IN_MEMPCPY, BUILT_IN_STRCAT, BUILT_IN_STRNCAT,
BUILT_IN_STPCPY, BUILT_IN_STRCPY, BUILT_IN_STRNCPY,
BUILT_IN_STRCMP, BUILT_IN_STRNCMP, BUILT_IN_STRLEN,
BUILT_IN_STRSTR, BUILT_IN_STRPBRK, BUILT_IN_STRSPN,
BUILT_IN_STRCSPN, BUILT_IN_STRCHR, BUILT_IN_STRRCHR, BUILT_IN_NAN,
BUILT_IN_NANF, BUILT_IN_NANL, BUILT_IN_NANS, BUILT_IN_NANSF,
BUILT_IN_NANSL, BUILT_IN_PUTS, BUILT_IN_FPUTC, BUILT_IN_FPUTS,
BUILT_IN_FWRITE, BUILT_IN_PUTS_UNLOCKED, BUILT_IN_FPUTC_UNLOCKED,
BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE_UNLOCKED,
BUILT_IN_STRDUP): Add "nonnull" attribute.
testsuite:
* gcc.dg/nonnull-3.c: New test.
From-SVN: r66468
Diffstat (limited to 'gcc/builtin-attrs.def')
-rw-r--r-- | gcc/builtin-attrs.def | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/gcc/builtin-attrs.def b/gcc/builtin-attrs.def index 7bdbd628086..ea05f49f4f8 100644 --- a/gcc/builtin-attrs.def +++ b/gcc/builtin-attrs.def @@ -102,19 +102,37 @@ DEF_ATTR_TREE_LIST (ATTR_NORETURN_NOTHROW_LIST, ATTR_NORETURN, \ DEF_ATTR_TREE_LIST (ATTR_MALLOC_NOTHROW_LIST, ATTR_MALLOC, \ ATTR_NULL, ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, \ +DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1, ATTR_NONNULL, ATTR_LIST_1, \ ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, \ +DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_2, ATTR_NONNULL, ATTR_LIST_2, \ ATTR_NOTHROW_LIST) -DEF_ATTR_TREE_LIST (ATTR_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, \ +DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_3, ATTR_NONNULL, ATTR_LIST_3, \ ATTR_NOTHROW_LIST) +/* Nothrow functions whose first and second parameters are nonnull pointers. */ +DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_2, ATTR_NONNULL, ATTR_LIST_2, \ + ATTR_NOTHROW_NONNULL_1) +/* Nothrow functions whose first and fourth parameters are nonnull pointers. */ +DEF_ATTR_TREE_LIST (ATTR_NOTHROW_NONNULL_1_4, ATTR_NONNULL, ATTR_LIST_4, \ + ATTR_NOTHROW_NONNULL_1) +/* Nothrow const functions whose first parameter is a nonnull pointer. */ +DEF_ATTR_TREE_LIST (ATTR_CONST_NOTHROW_NONNULL_1, ATTR_CONST, ATTR_NULL, \ + ATTR_NOTHROW_NONNULL_1) +/* Nothrow pure functions whose first parameter is a nonnull pointer. */ +DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_NONNULL_1, ATTR_PURE, ATTR_NULL, \ + ATTR_NOTHROW_NONNULL_1) +/* Nothrow pure functions whose first and second parameters are nonnull pointers. */ +DEF_ATTR_TREE_LIST (ATTR_PURE_NOTHROW_NONNULL_1_2, ATTR_PURE, ATTR_NULL, \ + ATTR_NOTHROW_NONNULL_1_2) +/* Nothrow malloc functions whose first parameter is a nonnull pointer. */ +DEF_ATTR_TREE_LIST (ATTR_MALLOC_NOTHROW_NONNULL_1, ATTR_MALLOC, ATTR_NULL, \ + ATTR_NOTHROW_NONNULL_1) /* Construct a tree for a format attribute. */ #define DEF_FORMAT_ATTRIBUTE(TYPE, FA, VALUES) \ DEF_ATTR_TREE_LIST (CONCAT4 (ATTR_,TYPE,_,VALUES), ATTR_NULL, \ CONCAT2 (ATTR_,TYPE), CONCAT2 (ATTR_LIST_,VALUES)) \ DEF_ATTR_TREE_LIST (CONCAT4 (ATTR_FORMAT_,TYPE,_,VALUES), ATTR_FORMAT, \ - CONCAT4 (ATTR_,TYPE,_,VALUES), CONCAT2 (ATTR_NONNULL_,FA)) + CONCAT4 (ATTR_,TYPE,_,VALUES), CONCAT2 (ATTR_NOTHROW_NONNULL_,FA)) DEF_FORMAT_ATTRIBUTE(PRINTF,1,1_0) DEF_FORMAT_ATTRIBUTE(PRINTF,1,1_2) DEF_FORMAT_ATTRIBUTE(PRINTF,2,2_0) @@ -132,7 +150,7 @@ DEF_FORMAT_ATTRIBUTE(STRFMON,3,3_4) /* Construct a tree for a format_arg attribute. */ #define DEF_FORMAT_ARG_ATTRIBUTE(FA) \ DEF_ATTR_TREE_LIST (CONCAT2 (ATTR_FORMAT_ARG_,FA), ATTR_FORMAT_ARG, \ - CONCAT2 (ATTR_LIST_,FA), CONCAT2 (ATTR_NONNULL_,FA)) + CONCAT2 (ATTR_LIST_,FA), CONCAT2 (ATTR_NOTHROW_NONNULL_,FA)) DEF_FORMAT_ARG_ATTRIBUTE(1) DEF_FORMAT_ARG_ATTRIBUTE(2) #undef DEF_FORMAT_ARG_ATTRIBUTE |