Uros Bizjak
f94b16611c
* builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
...
(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
* optabs.h (enum optab_index): Add new OTI_lceil.
(lceil_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize lceil_optab.
* genopinit.c (optabs): Implement lceil_optab using lceilsi2
and lceildi2 patterns.
* builtins.c (expand_builtin_int_roundingfn): Handle
BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L}.
(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.
* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
into lceil built-in function and (long long int)ceil{,f,l} into
llceil built-in function.
* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
BUILT_IN_LLCEIL.
testsuite:
* gcc.dg/builtins-53.c: Also check (int)ceil* and
(long long int)ceil*.
From-SVN: r97964
2005-04-11 08:16:39 +02:00
Uros Bizjak
d8b42d069e
* builtins.def (BUILT_IN_LFLOOR, BUILT_IN_LFLOORF, BUILT_IN_LFLOORL)
...
(BUILT_IN_LLFLOOR, BUILT_IN_LLFLOORF, BUILT_IN_LLFLOORL): New.
* optabs.h (enum optab_index): Add new OTI_lfloor.
(lfloor_optab): Define corresponding macro.
* optabs.c (init_optabs): Initialize lfloor_optab.
* genopinit.c (optabs): Implement lfloor_optab using lfloorsi2
and lfloordi2 patterns.
* builtins.c (expand_builtin_int_roundingfn): New prototype.
(expand_builtin_int_roundingfn): New function.
(fold_builtin_int_roundingfn): New prototype.
(fold_builtin_int_roundingfn): New function, renamed from
fold_builtin_lround.
Handle BUILT_IN_LROUND{,F,L}, BUILT_IN_LLROUND{,F,L} and
BUILT_IN_LFLOOR{,F,L}, BUILT_IN_LLFLOOR{,F,L}.
(fold_builtin_1): Fold BUILT_IN_LFLOOR{,F,L} and
BUILT_IN_LLFLOOR{,F,L} using fold_builtin_int_roundingfn.
(mathfn_built_in): Handle BUILT_IN LFLOOR and BUILT_IN_LLFLOOR.
(expand_builtin): Expand BUILT_IN_LFLOOR{,F,L} and
BUILT_IN_LLFLOOR{,F,L} using expand_builtin_int_roundingfn.
* convert.c (convert_to_integer): Convert (long int)floor{,f,l},
into lfloor built-in function and (long long int)floor{,f,l} into
llfloor built-in function.
* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LFLOOR and
BUILT_IN_LLFLOOR.
testsuite:
* gcc.dg/builtins-53.c: New test.
From-SVN: r97886
2005-04-09 07:31:46 +02:00
Kaveh R. Ghazi
e905ac64c0
builtins.def (BUILT_IN_STPNCPY, [...]): New.
...
* builtins.def (BUILT_IN_STPNCPY, BUILT_IN_STRCASECMP,
BUILT_IN_STRNCASECMP): New.
* doc/extend.texi: Document stpncpy, strcasecmp, strncasecmp
and strndup.
testsuite:
* gcc.dg/nonnull-3.c: Also test __builtin_stpncpy,
__builtin_strcasecmp and __builtin_strncasecmp.
From-SVN: r97498
2005-04-03 22:08:12 +00:00
Kaveh R. Ghazi
1ad81c8e57
builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
...
* builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
* builtins.def (BUILT_IN_STRNDUP): New.
testsuite:
* gcc.dg/nonnull-3.c: Also test __builtin_strndup.
From-SVN: r97077
2005-03-26 02:25:30 +00:00
Zdenek Dvorak
dcd6de6d69
builtin-attrs.def (ATTR_NOVOPS, [...]): New.
...
* builtin-attrs.def (ATTR_NOVOPS, ATTR_NOVOPS_LIST,
ATTR_PURE_NOTHROW_NOVOPS_LIST): New.
* builtins.def (ATTR_MATHFN_FPROUNDING): Use NOVOPS.
(BUILT_IN_PREFETCH): Set the NOVOPS attribute.
* c-common.c (handle_novops_attribute): New function.
(c_common_attribute_table): Add "no vops" entry.
* c-decl.c (merge_decls): Copy DECL_IS_NOVOPS.
* calls.c (flags_from_decl_or_type): Set ECF_NOVOPS.
* tree-ssa-operands.c (get_call_expr_operands): Do not
create virtual operands for calls with ECF_NOVOPS flag.
* tree.h (DECL_IS_NOVOPS): New macro.
(struct tree_decl): Add novops_flag.
(ECF_NOVOPS): New constant.
From-SVN: r96438
2005-03-14 16:21:16 +00:00
Kaveh R. Ghazi
74124c73c1
builtin-attrs.def (ATTR_NONNULL_LIST, [...]): New "nonnull" attribute lists which are non-specific regarding the nonnull...
...
* builtin-attrs.def (ATTR_NONNULL_LIST, ATTR_NOTHROW_NONNULL,
ATTR_CONST_NOTHROW_NONNULL, ATTR_PURE_NOTHROW_NONNULL,
ATTR_MALLOC_NOTHROW_NONNULL): New "nonnull" attribute lists which
are non-specific regarding the nonnull parameter positions.
(ATTR_NONNULL_1_2, ATTR_NONNULL_1_4, 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): Delete.
* builtins.def: Use the non-specific "nonnull" attibute lists.
From-SVN: r96298
2005-03-11 13:33:21 +00:00
Kazu Hirata
c486021de8
builtins.def, [...]: Update copyright.
...
* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
config/cris/cris-protos.h, config/cris/cris.c: Update
copyright.
From-SVN: r94840
2005-02-10 18:59:07 +00:00
Richard Henderson
c6a912da40
builtins.c (DEF_BUILTIN): Add COND argument.
...
* builtins.c (DEF_BUILTIN): Add COND argument.
* tree.h (DEF_BUILTIN): Likewise.
* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN, DEF_EXT_LIB_BUILTIN,
DEF_C94_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN): Update to
match.
(DEF_BUILTIN_STUB): New.
(BUILT_IN_STACK_SAVE, BUILT_IN_STACK_RESTORE, BUILT_IN_INIT_TRAMPOLINE,
BUILT_IN_ADJUST_TRAMPOLINE, BUILT_IN_NONLOCAL_GOTO,
BUILT_IN_PROFILE_FUNC_ENTER, BUILT_IN_PROFILE_FUNC_EXIT): Use it.
* c-common.c (DEF_BUILTIN): Add COND argument.
* tree.c (local_define_builtin): New.
(build_common_builtin_nodes): New.
ada/
* utils.c (gnat_define_builtin): Remove.
(gnat_install_builtins): Use build_common_builtin_nodes.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Call
build_common_builtin_nodes; do not define any functions handled
by it.
java/
* builtins.c (initialize_builtins): Call build_common_builtin_nodes.
* decl.c (java_init_decl_processing): Initialize const_ptr_type_node.
treelang/
* treetree.c (treelang_init_decl_processing): Call
build_common_builtin_nodes.
From-SVN: r94785
2005-02-09 16:22:25 -08:00
Richard Guenther
17684d4629
re PR middle-end/19402 (__builtin_powi? still missing)
...
2005-02-09 Richard Guenther <rguenth@gcc.gnu.org>
PR middle-end/19402
* builtins.def: New __builtin_powi[lf].
* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
(expand_builtin_powi): New function.
(expand_builtin): Dispatch to expand_builtin_powi.
* libgcc2.h: Add prototypes for __builtin_powi[lf].
* libgcc2.c: Add __builtin_powi[lf] implementation.
* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
* optabs.h: Add powi_optab.
* optabs.c (init_optabs): Initialize powi_optab.
* doc/extend.texi: Document __builtin_powi[lf].
* gcc.dg/pr19402-1.c: New testcase.
* gcc.dg/pr19402-2.c: likewise.
From-SVN: r94774
2005-02-09 20:58:13 +00:00
Jakub Jelinek
0d5b215ca1
builtins.def (BUILT_IN_FPUTC, [...]): Remove nothrow attribute.
...
* builtins.def (BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED,
BUILT_IN_FPUTS, BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FWRITE,
BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_PUTCHAR, BUILT_IN_PUTCHAR_UNLOCKED,
BUILT_IN_PUTS, BUILT_IN_PUTS_UNLOCKED): Remove nothrow attribute.
* builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_1_2,
ATTR_NONNULL_1_4): New.
From-SVN: r88278
2004-09-29 11:06:49 +02:00
Kaveh R. Ghazi
254986c7ff
builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
...
* builtin-attrs.def (ATTR_NOTHROW_SENTINEL_1): New.
* builtins.def (BUILT_IN_EXECLE): Set ATTR_NOTHROW_SENTINEL_1.
* c-common.c (c_common_attribute_table): Accept parameters to
sentinel attribute.
(check_function_sentinel, handle_sentinel_attribute): Likewise.
* doc/extend.texi: Update accordingly.
testsuite:
* gcc.dg/format/sentinel-1.c: Update for parameter option.
From-SVN: r87098
2004-09-05 02:55:28 +00:00
Kaveh Ghazi
3d091dac56
builtin-attrs.def (ATTR_SENTINEL, [...]): New.
...
gcc:
* builtin-attrs.def (ATTR_SENTINEL, ATTR_SENTINEL_NOTHROW_LIST):
New.
* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP): Add `sentinel'
attribute.
* c-common.c (handle_sentinel_attribute, check_function_sentinel):
New functions.
(c_common_attribute_table): Add `sentinel' attribute.
(check_function_arguments): Handle `sentinel' attribute.
* doc/extend.texi: Document `sentinel' attribute.
gcc/testsuite:
* gcc.dg/format/sentinel-1.c: New test.
include:
* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
* libiberty.h (concat, reconcat, concat_length, concat_copy,
concat_copy2): Use ATTRIBUTE_SENTINEL.
From-SVN: r87096
2004-09-05 02:50:09 +00:00
Richard Henderson
1a186ec558
builtins.def (BUILT_IN_STACK_ALLOC): Remove.
...
* builtins.def (BUILT_IN_STACK_ALLOC): Remove.
* builtins.c (expand_builtin) <BUILT_IN_STACK_ALLOC>: Remove.
* dwarf2out.c (loc_descriptor): Handle PARALLEL here ...
(add_location_or_const_value_attribute): ... not here. Use
loc_descriptor_from_tree if possible.
(loc_descriptor_from_tree_1): Rename from loc_descriptor_from_tree.
Simplify address handling. Handle DECL_VALUE_EXPR. Handle register
values specially.
(loc_descriptor_from_tree): New. Update callers.
* expr.c (expand_var): Ignore DECL_VALUE_EXPR variables.
* gimplify.c (gimplify_decl_expr): Lower variable sized types to
pointer plus dereference. Set DECL_VALUE_EXPR. Set save_stack.
(gimplify_call_expr): Do not recognize BUILT_IN_STACK_ALLOC
and BUILT_IN_STACK_RESTORE.
(gimplify_expr): Lower DECL_VALUE_EXPR decls.
* stmt.c (expand_stack_alloc): Remove.
* tree-mudflap.c (mx_register_decls): Don't look for
BUILT_IN_STACK_ALLOC.
* tree-nested.c (convert_local_reference): Likewise.
* tree.h (DECL_VALUE_EXPR): New.
ada/
* utils.c (gnat_install_builtins): Remove __builtin_stack_alloc,
add __builtin_alloca.
fortran/
* f95-lang.c (gfc_init_builtin_functions): Remove
__builtin_stack_alloc, add __builtin_alloca.
* trans-array.c (gfc_trans_auto_array_allocation): Use DECL_EXPR.
* trans-decl.c (gfc_trans_auto_character_variable): Likewise.
From-SVN: r85794
2004-08-10 21:16:07 -07:00
Jan Beulich
2319a1d1f7
builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
...
* builtin-types.def (BT_UINT): Rename from BT_UNSIGNED.
(BT_FN_UINT): Rename from BT_FN_UNSIGNED.
(BT_FN_PTR_UINT): Rename from BT_FN_PTR_UNSIGNED.
(BT_ULONG, BT_ULONGLONG, BT_UINTMAX, BT_FN_INT_UINT, BT_FN_INT_ULONG,
BT_FN_INT_ULONGLONG, BT_FN_INT_INTMAX, BT_FN_INT_UINTMAX): New.
* builtins.def (BUILTIN_CLZxxx, BUILTIN_CTXxxx, BUILTIN_PARITYxxx,
BUILTIN_POPCOUNTxxx): Arguments are unsigned.
(BUILTIN_xxxIMAX): New.
* builtins.c (expand_builtin): Handle BUILT_IN_FFSIMAX,
BUILT_IN_CLZIMAX, BUILT_IN_CTZIMAX, BUILT_IN_POPCOUNIMAX, and
BUILT_IN_PARITYIMAX.
From-SVN: r84415
2004-07-09 16:04:33 -07:00
Paolo Bonzini
64a9295a72
builtins.c (fold_builtin_classify): New.
...
gcc/ChangeLog:
2004-07-01 Paolo Bonzini <bonzini@gnu.org>
* builtins.c (fold_builtin_classify): New.
(fold_builtin_unordered_cmp): Fix commentary.
(fold_builtin): Use it.
* builtins.def: Define builtins for isnan,
isnanf, isnanl, finite, finitef, finitel,
isinf, isinff, isinfl.
gcc/testsuite/ChangeLog:
2004-07-01 Paolo Bonzini <bonzini@gnu.org>
* gcc.dg/builtins-43.c: New.
* gcc.dg/builtins-44.c: New.
* gcc.dg/builtins-45.c: New.
From-SVN: r83960
2004-07-01 08:02:34 +00:00
Joseph Myers
f51af25f33
builtins.def (execl, [...]): Change to DEF_EXT_LIB_BUILTIN.
...
* builtins.def (execl, execlp, execle, execv, execvp, execve,
fork): Change to DEF_EXT_LIB_BUILTIN.
From-SVN: r83817
2004-06-28 22:50:51 +01:00
Jakub Jelinek
498c0f2757
re PR c++/14791 (13070 does not fix -Wformat with fprintf)
...
PR c++/14791
* tree.h (enum tree_index): Add TI_FILEPTR_TYPE.
(fileptr_type_node): Define.
* tree.c (build_common_tree_nodes_2): Initialize
fileptr_type_node to ptr_type_node.
* c-common.c (c_common_nodes_and_builtins): For C++, make
fileptr_type_node a distinct type copy.
* builtin-types.def (BT_FILEPTR, BT_FN_INT_CONST_STRING_FILEPTR,
BT_FN_INT_INT_FILEPTR, BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR,
BT_FN_INT_FILEPTR_CONST_STRING_VAR): Add.
(BT_FN_INT_CONST_STRING_PTR, BT_FN_INT_INT_PTR,
BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, BT_FN_INT_PTR_CONST_STRING_VAR,
BT_FN_INT_PTR_CONST_STRING_VALIST_ARG): Remove.
* builtins.def (BUILT_IN_FPRINTF, BUILT_IN_FPRINTF_UNLOCKED,
BUILT_IN_FPUTC, BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS,
BUILT_IN_FPUTS_UNLOCKED, BUILT_IN_FSCANF, BUILT_IN_FWRITE,
BUILT_IN_FWRITE_UNLOCKED, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): Use
the above *FILEPTR* types instead of *PTR*.
* decl.c (duplicate_decls): Handle fileptr_type_node arguments
specially.
* g++.dg/opt/builtins1.C: New test.
From-SVN: r82902
2004-06-10 10:08:02 +02:00
Jan Hubicka
d601c996f8
* builtins.def (__builtin_expect): Mark the function as const¬hrow.
...
From-SVN: r82243
2004-05-25 16:25:47 +00:00
Diego Novillo
6de9cd9a88
Merge tree-ssa-20020619-branch into mainline.
...
From-SVN: r81764
2004-05-13 02:41:07 -04:00
Richard Kenner
2b92e7f5cd
builtins.c (expand_builtin_update_setjmp_buf): New function.
...
* builtins.c (expand_builtin_update_setjmp_buf): New function.
(expand_builtin, case BUILT_IN_UPDATE_SETJMP_BUF): New case.
* builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): New code.
From-SVN: r81198
2004-04-26 14:11:32 -04:00
Zdenek Dvorak
d1c3882392
Makefile.in (LIBGCOV): Add _gcov_fork...
...
* Makefile.in (LIBGCOV): Add _gcov_fork, _gcov_execl, _gcov_execlp,
_gcov_execle, _gcov_execv, _gcov_execvp, _gcov_execve.
* builtin-types.def (BT_PID, BT_PTR_CONST_STRING, BT_FN_PID,
BT_FN_INT_CONST_STRING_PTR_CONST_STRING,
BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING): New.
* builtins.c (expand_builtin_fork_or_exec): New.
(expand_builtin): Call it.
* builtins.def (BUILT_IN_EXECL, BUILT_IN_EXECLP,BUILT_IN_EXECLE,
BUILT_IN_EXECV, BUILT_IN_EXECVP, BUILT_IN_EXECVE, BUILT_IN_FORK): New.
* c-common.c (PID_TYPE): New macro.
(c_common_nodes_and_builtins): Initialize pid_type_node.
* calls.c (special_function_p): Do not handle fork and exec.
(expand_call): Do not handle ECF_FORK_OR_EXEC.
* gcov-io.h (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
__gcov_execv, __gcov_execvp, __gcov_execve): Declare.
* libgcov.c (__gcov_fork, __gcov_execl, __gcov_execlp, __gcov_execle,
__gcov_execv, __gcov_execvp, __gcov_execve): New.
* tree.h (enum tree_index): Add TI_PID_TYPE.
(pid_type_node): New macro.
(ECF_FORK_OR_EXEC): Removed.
From-SVN: r81118
2004-04-23 22:50:16 +00:00
Kaveh R. Ghazi
b069dd3f1f
builtins.def (BUILT_IN_ISDIGIT, [...]): Mark with ATTR_CONST_NOTHROW_LIST.
...
* builtins.def (BUILT_IN_ISDIGIT, BUILT_IN_ISXDIGIT): Mark with
ATTR_CONST_NOTHROW_LIST.
From-SVN: r80740
2004-04-16 00:48:51 +00:00
Kaveh R. Ghazi
ca4944e1fe
builtin-types.def (BT_WINT, [...]): New.
...
* builtin-types.def (BT_WINT, BT_FN_INT_WINT, BT_FN_WINT_WINT): New.
* builtins.def (DEF_C94_BUILTIN): New. Add wctype builtins.
* doc/extend.texi: Likewise.
testsuite:
* gcc.dg/torture/builtin-wctype-1.c: New test.
From-SVN: r80011
2004-03-27 05:29:40 +00:00
Kaveh R. Ghazi
740e5b6f17
builtins.def: Add ctype builtins.
...
* builtins.def: Add ctype builtins.
* doc/extend.texi: Likewise.
testsuite:
* gcc.dg/torture/builtin-ctype-1.c: New test.
From-SVN: r79960
2004-03-25 17:55:13 +00:00
Joseph Myers
b1c2d04a28
re PR c/14635 (nan functions should not be C90 built-ins)
...
PR c/14635
* builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
DEF_GCC_BUILTIN.
testsuite:
* builtins-1.c (nan, nans): Don't test.
* builtins-30.c: Don't use nan, nanf, nanl.
* builtins-35.c: New test.
From-SVN: r79736
2004-03-20 10:19:11 +00:00
James E Wilson
c76362b488
re PR libstdc++/5625 ([mips] exception unwinding creates invalid pointer on mips)
...
PR libstdc++/5625
* builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
* builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
* builtins.def (BUILT_IN_EXTEND_POINTER): New.
* except.c (expand_builtin_extend_pointer): New.
* except.h (expand_builtin_extend_pointer): Declare.
From-SVN: r77554
2004-02-09 13:18:45 -08:00
Roger Sayle
ef79730c93
builtins.def (BUILT_IN_SIGNBIT, [...]): New GCC builtins.
...
* builtins.def (BUILT_IN_SIGNBIT, BUILT_IN_SIGNBITF,
BUILT_IN_SIGNBITL): New GCC builtins.
* builtins.c (expand_builtin_signbit): New function to RTL expand
calls to signbit, signbitf and signbitl as inline intrinsics.
(expand_builtin): Call expand_builtin_signbit for BUILT_IN_SIGNBIT*.
(fold_builtin_signbit): New function to perform constant folding
of signbit, signbitf and signbitl.
(fold_builtin): Call fold_builtin_signbit for BUILT_IN_SIGNBIT*.
* doc/extend.texi: Document new signbit{,f,l} builtins.
* gcc.dg/builtins-1.c: Also test for __builtin_signbit{,f,l}.
* gcc.dg/builtins-31.c: New testcase.
* gcc.dg/builtins-32.c: New testcase.
From-SVN: r77070
2004-02-01 14:59:15 +00:00
Kazu Hirata
a457ee07af
alloc-pool.c: Fix comment typos.
...
* alloc-pool.c: Fix comment typos.
* builtin-types.def: Likewise.
* builtins.def: Likewise.
* c-pretty-print.c: Likewise.
* df.h: Likewise.
* reload1.c: Likewise.
From-SVN: r77043
2004-01-31 17:47:43 +00:00
Kaveh R. Ghazi
11bf0eb0c7
builtin-types.def (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, [...]): New.
...
* builtin-types.def
(BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
* builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
New.
* doc/extend.texi: Document new builtins.
testsuite:
* gcc.dg/builtins-1.c: Add more _Complex tests.
* gcc.dg/torture/builtin-attr-1.c: Likewise.
From-SVN: r71226
2003-09-09 03:29:18 +00:00
Kaveh R. Ghazi
742c0a4ee1
builtins.def: Break out _Complex math functions into their own category.
...
* builtins.def: Break out _Complex math functions into their
own category.
From-SVN: r71000
2003-09-02 18:45:45 +00:00
Kaveh R. Ghazi
05a5fba9c7
builtins.def: Fix typos.
...
* builtins.def: Fix typos.
(ATTR_MATHFN_FPROUNDING_STORE): New macro.
(BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
From-SVN: r70924
2003-08-29 21:53:59 +00:00
Kaveh R. Ghazi
fe3d04dc26
builtins.def (BUILT_IN_ERFC, [...]): Use ATTR_MATHFN_FPROUNDING_ERRNO.
...
* builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
Use ATTR_MATHFN_FPROUNDING_ERRNO.
From-SVN: r70923
2003-08-29 21:51:35 +00:00
Kaveh R. Ghazi
a2a919aa50
builtin-types.def (BT_INT_PTR, [...]): New.
...
* builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
* builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
* tree.c: Assign new type_nodes.
* tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
(float_ptr_type_node, double_ptr_type_node,
long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
* doc/extend.texi: Document new builtins.
testsuite:
* gcc.dg/builtins-1.c: Add new builtin cases.
From-SVN: r70890
2003-08-28 22:00:45 +00:00
Kaveh R. Ghazi
488f17e1fc
builtin-types.def (BT_FN_FLOAT_INT_FLOAT, [...]): New.
...
* builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
* builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
* doc/extend.texi: Document new builtins.
testsuite:
* gcc.dg/builtins-1.c: Add new cases.
* gcc.dg/torture/builtin-attr-1.c: Likewise.
From-SVN: r70889
2003-08-28 21:25:22 +00:00
Kaveh R. Ghazi
98ff7c4dc1
builtin-types.def (BT_FN_INT_FLOAT, [...]): New.
...
* builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
* builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
* doc/extend.texi: Document new builtins.
testsuite:
* gcc.dg/builtins-1.c: Add more math builtin tests.
* gcc.dg/torture/builtin-attr-1.c: New test.
From-SVN: r70886
2003-08-28 19:41:16 +00:00
Kaveh R. Ghazi
d82f81dde4
builtins.def (BUILT_IN_ABS, [...]): Move to miscellaneous section.
...
* builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS,
BUILT_IN_LLABS): Move to miscellaneous section.
From-SVN: r70120
2003-08-03 14:31:29 +00:00
Roger Sayle
178b2b9f0f
builtin-types.def (BT_SSIZE): New primitive type.
...
* builtin-types.def (BT_SSIZE): New primitive type.
(BT_FN_INT_PTR_CONST_STRING_VALIST_ARG,
BT_FN_STRING_CONST_STRING_CONST_STRING_INT,
BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_PTR,
BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR): New function types.
* builtins.def (BUILT_IN_DCGETTEXT, BUILT_IN_DGETTEXT,
BUILT_IN_FSCANF, BUILT_IN_GETTEXT, BUILT_IN_STRFMON,
BUILT_IN_STRFTIME, BUILT_IN_VFPRINTF, BUILT_IN_VFSCANF): New builtins.
* builtin-attrs.def: Remove DEF_FN_ATTR construct and the last
few functions that define default attributes using it.
* c-common.c (c_common_insert_default_attributes): Do nothing.
* doc/extend.texi: Document these "new" builtins.
From-SVN: r70113
2003-08-03 03:23:18 +00:00
Kaveh R. Ghazi
f53b62e15c
* builtins.def: Categorize.
...
From-SVN: r70097
2003-08-02 06:21:43 +00:00
Kaveh R. Ghazi
f6a4681886
builtins.def (BUILT_IN_CABS, [...]): Mind fp rounding.
...
* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
Mind fp rounding.
(BUILT_IN_FFSL): Use DEF_EXT_LIB_BUILTIN.
From-SVN: r70096
2003-08-02 06:19:40 +00:00
Kaveh R. Ghazi
a8eb1db550
* builtins.def: Resort builtins.
...
From-SVN: r70058
2003-08-01 17:51:56 +00:00
Kaveh R. Ghazi
da7cfe1307
builtins.def (DEF_GCC_BUILTIN, [...]): Prepend "__builtin_" onto NAME with string concatenation.
...
* builtins.def (DEF_GCC_BUILTIN, DEF_LIB_BUILTIN,
DEF_EXT_LIB_BUILTIN, DEF_C99_BUILTIN, DEF_C99_C90RES_BUILTIN):
Prepend "__builtin_" onto NAME with string concatenation. Remove
explicit "__builtin_" from each macro call.
Reformat entire file.
From-SVN: r70057
2003-08-01 17:50:38 +00:00
Kaveh R. Ghazi
ea8eb0b920
builtins.def (ATTR_MATHFN_ERRNO, [...]): New macros.
...
* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING,
ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout.
From-SVN: r70055
2003-08-01 17:48:30 +00:00
Kaveh R. Ghazi
3c260e1d97
builtin-types.def: Use LONGDOUBLE' instead of
LONG_DOUBLE' throughout.
...
* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE'
throughout.
* builtins.def: Likewise.
From-SVN: r70034
2003-08-01 02:11:17 +00:00
Roger Sayle
1aa0a5f67e
* builtins.def: Alphabetize.
...
From-SVN: r69989
2003-07-31 03:16:24 +00:00
Roger Sayle
cc42f5f54c
builtins.def (DEF_FALLBACK_BUILTIN): Delete.
...
* builtins.def (DEF_FALLBACK_BUILTIN): Delete.
(DEF_EXT_FALLBACK_BUILTIN): Delete.
(BUILT_IN_BZERO, BUILT_IN_BCOPY, BUILT_IN_BCMP): Declare using
the regular DEF_EXT_LIB_BUILTIN macro.
(BUILT_IN_FPUTC, BUILT_IN_FPUTS, BUILT_IN_FWRITE): Declare using
the regular DEF_LIB_BUILTIN macro.
(BUILT_IN_PUTCHAR_UNLOCKED, BUILT_IN_PUTS_UNLOCKED,
BUILT_IN_FPUTC_UNLOCKED, BUILT_IN_FPUTS_UNLOCKED,
BUILT_IN_FWRITE_UNLOCKED): Declare using the regular
DEF_EXT_LIB_BUILTIN macro.
* c-decl.c (duplicate_decls): Remove code to handle builtin
functions prototyped without an argument list.
From-SVN: r69814
2003-07-26 13:27:20 +00:00
Roger Sayle
868b8cda7b
builtins.def (BUILT_IN_PRINTF, [...]): Changed from front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
...
* builtins.def (BUILT_IN_PRINTF, BUILT_IN_FPRINTF): Changed from
front-end builtins to normal builtins, using DEF_LIB_BUILTIN.
(BUILT_IN_PRINTF_UNLOCKED, BUILT_IN_FPRINTF_UNLOCKED): Changed
from front-end to normal builtins, using DEF_EXT_LIB_BUILTIN.
(DEF_FRONT_END_LIB_BUILTIN): Delete.
(DEF_EXT_FRONT_END_LIB_BUILTIN): Delete.
(BUILT_IN_FWRITE_UNLOCKED): Wrap long line.
* builtins.c (build_string_literal): New function to construct
a char* pointer to a string literal.
(expand_builtin_fputs): Change 2nd argument from "int ignore" to
"rtx target" to be consistent with other expand_builtin_* functions.
Change 3rd argument from "int unlocked" to "bool unlocked".
(expand_builtin_printf): Rewrite of c_expand_builtin_printf from
c-common.c to avoid front-end dependencies. Optimize printf("")
as a no-op when the result isn't required. Handle embedded NULs
in format string.
(expand_builtin_fprintf): A rewrite of c_expand_builtin_fprintf
from c-common.c to avoid front-end dependencies. Likewise, optimize
fprintf(fp,"") as a no-op when the result isn't required, evaluating
fp for side-effects. Handle embedded NULs in format string.
(expand_builtin_sprintf): Fix typo.
(expand_builtin): Don't expand BUILT_IN_FPRINT{,_UNLOCKED} when not
optimizing. Adjust calls of expand_builtin_fputs to match the API
change. Expand BUILT_IN_PRINTF and BUILT_IN_PRINTF_UNLOCKED using
expand_builtin_printf. Likewise, expand BUILT_IN_FPRINTF_UNLOCKED
and BUILT_IN_FPRINTF using expand_builtin_fprintf.
* c-common.c (is_valid_printf_arglist): Delete.
(c_expand_builtin): Delete.
(c_expand_builtin_printf): Moved to builtins.c. Delete.
(c_expand_builtin_fprintf): Moved to builtins.c. Delete.
(c_expand_expr): No longer treat CALL_EXPRs specially.
(CALLED_AS_BUILT_IN): Delete.
From-SVN: r69760
2003-07-24 21:04:12 +00:00
Roger Sayle
6a6c0154f8
builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
...
* builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.
* system.h (SMALL_STACK): Poison obsolete target macro.
* doc/tm.texi (SMALL_STACK): Remove target macro documentation.
From-SVN: r69609
2003-07-20 16:29:57 +00:00
Roger Sayle
075ec276a0
builtins.def (BUILT_IN_CABS, [...]): New builtins representing ISO C99's cabs, cabsf and cabsl.
...
* builtins.def (BUILT_IN_CABS, BUILT_IN_CABSF, BUILT_IN_CABSL):
New builtins representing ISO C99's cabs, cabsf and cabsl.
* builtins.c (expand_builtin_fabs): New function.
(expand_builtin_cabs): New function.
(expand_builtin): Expand BUILT_IN_FABS{,F,L} and BUILT_IN_CABS{,F,L}
using expand_builtin_fabs and expand_builtin_cabs respectively.
* doc/extend.texi: Document new cabs, cabsf and cabsl builtins.
* gcc.dg/builtins-16.c: New test case.
From-SVN: r67368
2003-06-03 11:27:23 +00:00
Roger Sayle
29f523bef0
builtins.def: Defome atan...
...
* builtins.def: Defome atan, atanf, atanl, tan, tanf and tanl
builtin functions (and their __builtin_* variants).
* builtins.c (mathfn_built_in): Handle tan{,f,l} and atan{,f,l}.
(expand_builtin): Don't expand tan{,f,l} or atan{,f,l} when not
optimizing.
* doc/extend.texi: Document new tan and atan builtins, and
their float and long double variants.
* gcc.dg/builtins-1.c: Add tests for tan and atan.
* gcc.dg/builtins-4.c: Add test for fmod.
From-SVN: r67137
2003-05-23 20:45:40 +00:00
Kaveh R. Ghazi
003620645c
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
2003-05-04 22:18:17 +00:00