aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.def
AgeCommit message (Collapse)AuthorFilesLines
2003-09-09builtin-types.def ↵Kaveh R. Ghazi1-0/+56
(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-02builtins.def: Break out _Complex math functions into their own category.Kaveh R. Ghazi1-12/+14
* builtins.def: Break out _Complex math functions into their own category. From-SVN: r71000
2003-08-29builtins.def: Fix typos.Kaveh R. Ghazi1-15/+21
* 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-29builtins.def (BUILT_IN_ERFC, [...]): Use ATTR_MATHFN_FPROUNDING_ERRNO.Kaveh R. Ghazi1-3/+3
* builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL): Use ATTR_MATHFN_FPROUNDING_ERRNO. From-SVN: r70923
2003-08-28builtin-types.def (BT_INT_PTR, [...]): New.Kaveh R. Ghazi1-0/+12
* 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-28builtin-types.def (BT_FN_FLOAT_INT_FLOAT, [...]): New.Kaveh R. Ghazi1-0/+36
* 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-28builtin-types.def (BT_FN_INT_FLOAT, [...]): New.Kaveh R. Ghazi1-0/+111
* 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-03builtins.def (BUILT_IN_ABS, [...]): Move to miscellaneous section.Kaveh R. Ghazi1-6/+6
* builtins.def (BUILT_IN_ABS, BUILT_IN_IMAXABS, BUILT_IN_LABS, BUILT_IN_LLABS): Move to miscellaneous section. From-SVN: r70120
2003-08-03builtin-types.def (BT_SSIZE): New primitive type.Roger Sayle1-0/+8
* 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-02* builtins.def: Categorize.Kaveh R. Ghazi1-92/+99
From-SVN: r70097
2003-08-02builtins.def (BUILT_IN_CABS, [...]): Mind fp rounding.Kaveh R. Ghazi1-4/+4
* 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-01* builtins.def: Resort builtins.Kaveh R. Ghazi1-8/+8
From-SVN: r70058
2003-08-01builtins.def (DEF_GCC_BUILTIN, [...]): Prepend "__builtin_" onto NAME with ↵Kaveh R. Ghazi1-911/+187
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-01builtins.def (ATTR_MATHFN_ERRNO, [...]): New macros.Kaveh R. Ghazi1-96/+54
* builtins.def (ATTR_MATHFN_ERRNO, ATTR_MATHFN_FPROUNDING, ATTR_MATHFN_FPROUNDING_ERRNO): New macros. Use throughout. From-SVN: r70055
2003-08-01builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE' throughout.Kaveh R. Ghazi1-24/+24
* builtin-types.def: Use `LONGDOUBLE' instead of `LONG_DOUBLE' throughout. * builtins.def: Likewise. From-SVN: r70034
2003-07-31* builtins.def: Alphabetize.Roger Sayle1-631/+757
From-SVN: r69989
2003-07-26builtins.def (DEF_FALLBACK_BUILTIN): Delete.Roger Sayle1-78/+46
* 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-24builtins.def (BUILT_IN_PRINTF, [...]): Changed from front-end builtins to ↵Roger Sayle1-34/+19
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-20builtins.def (BUILT_IN_ALLOCA): Remove "#if SMALL_STACK" form.Roger Sayle1-9/+0
* 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-06-03builtins.def (BUILT_IN_CABS, [...]): New builtins representing ISO C99's ↵Roger Sayle1-0/+12
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-05-23builtins.def: Defome atan...Roger Sayle1-0/+30
* 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-04builtin-attrs.def (ATTR_NOTHROW_NONNULL_1, [...]): Renamed from ↵Kaveh R. Ghazi1-41/+44
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-03builtins.c (expand_builtin): Remove.Richard Henderson1-2/+2
* builtins.c (expand_builtin) <BUILT_IN_DWARF_FP_REGNUM>: Remove. <BUILT_IN_DWARF_SP_COLUMN>: New. * builtins.def (BUILT_IN_DWARF_FP_REGNUM): Remove. (BUILT_IN_DWARF_SP_COLUMN): New. * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Remove. (expand_builtin_dwarf_sp_column): New. * except.h: Update to match. * unwind-dw2.c (execute_stack_op): Correct stack push typo. (execute_cfa_program): Record location expression address before extracting length. (uw_update_context_1): Install old CFA into stack pointer column. (uw_init_context_1): Set cfa_reg to stack pointer column. From-SVN: r66447
2003-04-30* builtins.def (BUILTIN_CONSTANT_P): Mark as constant.Diego Novillo1-1/+1
From-SVN: r66316
2003-04-28builtins.def (BUILT_IN_BCOPY, [...]): New.Jakub Jelinek1-3/+14
* builtins.def (BUILT_IN_BCOPY, BUILT_IN_MEMMOVE): New. * builtin-types.def (BT_FN_VOID_CONST_PTR_PTR_SIZE): New. * builtins.c (expand_builtin_memmove, expand_builtin_bcopy): New functions. (expand_builtin): Handle BUILT_IN_BCOPY and BUILT_IN_MEMMOVE. * gcc.c-torture/execute/string-opt-19.c: New test. From-SVN: r66169
2003-04-14builtin-types.def (BT_FN_STRING_CONST_STRING): New builtin type.Roger Sayle1-0/+16
* 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. From-SVN: r65560
2003-04-13builtins.c (expand_builtin_memcpy): Add `endp' argument, use it.Kaveh R. Ghazi1-0/+8
gcc: * builtins.c (expand_builtin_memcpy): Add `endp' argument, use it. (expand_builtin_stpcpy): New. (expand_builtin): Add BUILT_IN_MEMPCPY & BUILT_IN_STPCPY. * builtins.def: Add mempcpy & stpcpy support. * doc/extend.texi (mempcpy, stpcpy): Document new builtins. testsuite: * gcc.c-torture/execute/string-opt-18.c: New test. From-SVN: r65551
2003-03-09builtins.def: Fix typo and improve grammar.Roger Sayle1-1/+2
* builtins.def: Fix typo and improve grammar. * loop-unroll.c (decide_peel_completely): Tidy log message. From-SVN: r64030
2003-03-02re PR c++/9367 (error: nonnull argument with extern "C" snprintf prototype)Roger Sayle1-17/+63
PR c++/9367 * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro. (BT_FN_INT_CONST_STRING_VALIST_ARG, BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, BT_FN_INT_STRING_CONST_STRING_VAR, BT_FN_INT_CONST_STRING_CONST_STRING_VAR, BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types. * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2, ATTR_NONNULL_3): Also include the nothrow attribute. (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf, vsnprintf, vscanf, vsscanf): Don't define attributes here. * builtins.def (putchar, puts): Make full C89 built-ins. (snprintf, sprintf, scanf, sscanf, vprintf, vscanf, vsscanf, vsnprintf, vsprintf): New built-ins. * c-common.c (c_common_nodes_and_builtins): Handle new macro DEF_FUNCTION_TYPE_VAR_3. * doc/extend.texi: Document these new built-in functions. * java/builtins.c (builtin_type): Handle DEF_FUNCTION_TYPE_VAR_3. (initialize_builtins): Handle DEF_FUNCTION_TYPE_VAR_3. * g++.old-deja/g++.other/builtins10.C: New test for PR 9367. * gcc.dg/format/attr-5.c: Handle new conflicting types warning. From-SVN: r63650
2003-02-26builtins.def (DEF_LIB_ALWAYS_BUILTIN, [...]): Delete.Roger Sayle1-71/+56
* builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete. (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use the appropriate macro to define built-in function. (fmod,fmodf,fmodl): New built-in functions. * java/decl.c (java_init_decl_processing): Get soft_fmod_node from built_in_decls[BUILT_IN_FMOD] rather than define it ourselves. * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins. From-SVN: r63445
2003-02-07builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.Roger Sayle1-1/+43
* builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type. (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise. (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise. * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l builtin functions (and their __builtin_* variants). * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases. (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l} when not optimizing. * doc/extend.texi: Document new pow and atan2 builtins, and their float and long double variants. Realphabetize builtins. * testsuite/gcc.dg/builtins-4.c: New test case. From-SVN: r62551
2003-02-01[multiple changes]Richard Henderson1-0/+59
2003-02-01 Richard Henderson <rth@redhat.com> * optabs.c (expand_unop): Use word_mode for outmode of bit scaners. * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2, __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change return type to Wtype. * libgcc-std.ver (GCC_3.4): Fix inheritance. * config/i386/i386.md (ffssi2): Use nonimmediate_operand for expander input constraint. 2003-02-01 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de> * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and OTI_parity. (clz_optab, ctz_optab, popcount_optab, parity_optab): New. * optabs.c (widen_clz, expand_parity): New. (expand_unop): Handle clz and parity. Hardcode SImode as outmode for libcalls to clz, ctz, popcount, and parity. (init_optabs): Init clz_optab, ctz_optab, popcount_optab and parity_optab, and set up libfunc handlers. * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2, __popcountsi2, __popcountdi2, __paritysi2 __paritydi2, __popcount_tab): New. * libgcc2.h: Declare them. * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c. * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab and parity_optab. * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New. * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT, BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL, BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL, BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL, BUILT_IN_PARITYLL): New. * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs and add optab argument. (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*. * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New. * expr.c (expand_expr): Handle them. * fold-const.c (tree_expr_nonnegative_p): Likewise. * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New. * reload1.c (eliminate_regs): Handle them. (elimination_effects): Likewise. * function.c (instantiate_virtual_regs_1): Likewise * genattrtab.c (check_attr_value): Likewise. * simplify-rtx.c (simplify_unary_operation): Likewise. * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR. * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY. (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY. * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New. * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to __builtin_arm_clz. * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move... * mklibgcc.in (lib2funcs): ...here and merge. Add new members. * doc/extend.texi (Other Builtins): Add new builtins. * doc/md.texi (Standard Names): Add new patterns. From-SVN: r62252
2003-01-24builtins.c (DEF_BUILTIN): Accept 10 arguments.Jan Hubicka1-98/+112
* builtins.c (DEF_BUILTIN): Accept 10 arguments. (implicit_built_in_decls): New global array. (mathfn_built_in): New global function. (fold_trunc_transparent_mathfn): New static function (expand_builtin_strstr, expand_bultin_strchr, expand_builtin_strpbrk, expand_builtin_strcpy, expand_builtin_strncpy, expand_bultin_strcmp, expand_bultin_strncat, expand_builtin_fputs): Use implicint_built_in_decls. (fold_builtin): Fold floor/trunc/round/ceil/nearbyint. * builtins.def: Fix comments. (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN, DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN, DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN, DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed. (DEF_C99_C90RES_BULTIN): New. (*f, *l builtins): Update. * c-common.c (DEF_BUILTIN): Initialize implicit array. (c_expand_builtin_printf, c_expand_builtin_fprintf): Update. * convert.c (strip_float_extensions): New global function. * tree.h (DEF_BUILTIN): Accept 10 arguments. (implicit_built_in_decls, mathfn_built_in, strip_float_extension): Declare. * java/builtins.c (define_builtin): Handle implicit. (DEF_BUILTIN): Update. * tm.texi (TARGET_C99_FUNCTIONS): Document. * defaults.h (TARGET_C99_FUNCTIONS): Default to 0. * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1 when using glibc2. From-SVN: r61738
2002-12-16Merge basic-improvements-branch to trunkZack Weinberg1-13/+89
From-SVN: r60174
2002-11-27* builtins.def (DEF_C99_BUILTIN): Fix.Jan Hubicka1-1/+1
From-SVN: r59571
2002-09-29builtins.def: Fix comment formatting.Kazu Hirata1-1/+1
* builtins.def: Fix comment formatting. * c-common.def: Likewise. * cfgcleanup.c: Likewise. * combine.c: Likewise. * gengtype.c: Likewise. * params.def: Likewise. * predict.def: Likewise. * rtl.def: Likewise. * stab.def: Likewise. * stor-layout.c: Likewise. * tree.def: Likewise. * config/darwin.c: Likewise. * config/darwin.h: Likewise. * config/dbxcoff.h: Likewise. * config/elfos.h: Likewise. * config/fp-bit.c: Likewise. * config/freebsd-spec.h: Likewise. * config/interix.h: Likewise. * config/libgloss.h: Likewise. * config/linux-aout.h: Likewise. * config/linux.h: Likewise. * config/lynx-ng.h: Likewise. * config/lynx.h: Likewise. * config/netbsd-aout.h: Likewise. * config/netbsd.h: Likewise. * config/netware.h: Likewise. * config/psos.h: Likewise. * config/ptx4.h: Likewise. From-SVN: r57624
2002-09-16builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.Richard Henderson1-0/+26
gcc/ * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New. (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New. * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New. (__builtin_nans, __builtin_nansf, __builtin_nansl): New. * builtins.c (fold_builtin_nan): New. (fold_builtin): Call it. * real.c (real_nan): Parse a non-empty string. (round_for_format): Fix NaN significand truncation. * real.h (real_nan): Return bool. * doc/extend.texi: Document new builtins. libstdc++/ * include/std/std_limits.h (__glibcpp_f32_QNaN_bytes, __glibcpp_f32_has_QNaN, __glibcpp_f32_SNaN_bytes, __glibcpp_f32_has_SNaN, __glibcpp_f64_QNaN_bytes, __glibcpp_f64_has_QNaN, __glibcpp_f64_SNaN_bytes, __glibcpp_f64_has_SNaN, __glibcpp_f80_QNaN_bytes, __glibcpp_f80_has_QNaN, __glibcpp_f80_SNaN_bytes, __glibcpp_f80_has_SNaN, __glibcpp_f96_QNaN_bytes, __glibcpp_f96_has_QNaN, __glibcpp_f96_SNaN_bytes, __glibcpp_f96_has_SNaN, __glibcpp_f128_QNaN_bytes, __glibcpp_f128_has_QNaN, __glibcpp_f128_SNaN_bytes, __glibcpp_f128_has_SNaN, __glibcpp_float_QNaN_bytes, __glibcpp_float_has_QNaN, __glibcpp_float_SNaN_bytes, __glibcpp_float_has_SNaN, __glibcpp_double_QNaN_bytes, __glibcpp_double_has_QNaN, __glibcpp_double_SNaN_bytes, __glibcpp_double_has_SNaN, __glibcpp_long_double_QNaN_bytes, __glibcpp_long_double_has_QNaN, __glibcpp_long_double_SNaN_bytes, __glibcpp_long_double_has_SNaN): Remove. (__glibcpp_f128_is_iec559): True if IEEE. (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove. (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove. (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove. (std::numeric_limits<float>::has_quiet_NaN): Use __builtin_nanf. (std::numeric_limits<float>::has_signaling_NaN): Mirror has_quiet_NaN. (std::numeric_limits<float>::quiet_NaN): Use __builtin_nanf. (std::numeric_limits<float>::signaling_NaN): Use __builtin_nansf. (std::numeric_limits<double>): Similarly. (std::numeric_limits<long double>): Similarly. * src/limits.cc (__glibcpp_float_QNaN, __glibcpp_float_SNaN): Remove. (__glibcpp_double_QNaN, __glibcpp_double_SNaN): Remove. (__glibcpp_long_double_QNaN, __glibcpp_long_double_SNaN): Remove. * testsuite/18_support/numeric_limits.cc (test_infinity): New. (test_denorm_min, test_qnan, test_is_iec559): New. From-SVN: r57221
2002-09-07builtins.def (inf, inff, infl): Mark const.Richard Henderson1-9/+6
* builtins.def (inf, inff, infl): Mark const. (huge_val, huge_valf, huge_vall): Likewise. (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove. From-SVN: r56926
2002-09-04builtin-types.def (BT_FN_FLOAT): New.Richard Henderson1-0/+26
* builtin-types.def (BT_FN_FLOAT): New. (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New. * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL, BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New. * builtins.c (fold_builtin_inf): New. (fold_builtin): Call it. * real.c (ereal_inf): New. * real.h: Declare it. * doc/extend.texi: Document new builtins. From-SVN: r56820
2002-08-03builtins.def: Define new builtin functions exp...Roger Sayle1-0/+42
* builtins.def: Define new builtin functions exp, expf, expl, log, logf and logl (and their __builtin_* variants). * optabs.h (enum optab_index): Add new OTI_exp and OTI_log. Define exp_optab and log_optab. * optabs.c (init_optans): Initialize exp_optab and log_optab. * genopinit.c (optabs): Implement exp_optab and log_optab using exp?f2 and log?f2 patterns. * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP* and BUILT_IN_LOG* using exp_optab and log_optab respectively. (expand_builtin): Ignore the new builtins (and all cos and sin variants) when not optimizing. Expand new builtins via expand_builtin_mathfn when flag_unsafe_math_optimizations. * doc/extend.texi: Document new exp and log builtins. * doc/md.texi: Document new exp?f2 and log?f2 patterns (and previously undocumented cos?f2 and sin?f2 patterns). From-SVN: r56010
2002-07-28builtins.def [...]: Require an explicit ATTRS argument.Roger Sayle1-36/+70
* builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS argument. Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN, BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99 floating point unordered comparisons (e.g. __builtin_isgreater) as const, and leave the remaining GCC_BUILTINs unchanged. * c-decl.c (builtin_function): No need to explicitly mark BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn. * cp/decl.c (builtin_function_1): No need to explicitly mark BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn. From-SVN: r55805
2002-07-16varargs.h: Replace with stub which issues #error.Zack Weinberg1-4/+6
* ginclude/varargs.h: Replace with stub which issues #error. * ginclude/stdarg.h: __builtin_stdarg_start is renamed __builtin_va_start. * builtins.def (BUILT_IN_VARARGS_START): Delete. (BUILT_IN_VA_START): New. * builtins.c (expand_builtin_va_start): Eliminate first argument and code to implement pre-ISO varargs. (std_expand_builtin_va_start): Ignore first argument; it is always 1. (expand_builtin): Handle BUILT_IN_VA_START and BUILT_IN_STDARG_START identically. Delete BUILT_IN_VARARGS_START case. * function.c (assign_parms): Delete hide_last_arg and all its uses. (mark_varargs): Delete function. * function.h (struct function): Delete 'varargs' bit. (current_function_varargs): Delete macro. * tree.h: Don't declare mark_varargs. * c-decl.c (c_function_varargs, c_mark_varargs): Delete. (c_expand_body): Don't call mark_varargs. * c-objc-common.c: Handle BUILT_IN_VA_START and BUILT_IN_STDARG_START identically. Delete BUILT_IN_VARARGS_START case. * c-tree.h: Don't declare c_mark_varargs. * c-parse.in: Remove grammar rules for '&...' (which has been commented out since before 2.7.2) and for '...' in K+R argument declarations. * builtins.c, function.c, integrate.c, sibcall.c, config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h, config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c, config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c, config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h, config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h, config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c, config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.c: Delete all references to current_function_varargs, and code predicated on that flag. * config/alpha/alpha.c (alpha_va_start), config/arc/arc.c (arc_va_start), config/i386/i386.c (ix86_va_start), config/mips/mips.c (mips_va_start), config/mn10300/mn10300.c (mn10300_va_start), config/rs6000/rs6000.c (rs6000_va_start), config/s390/s390.c (s390_va_start), config/sh/sh.c (sh_va_start), Ignore first argument; it is always 1. * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start. * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start. * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c: Delete m68hc11_va_start. * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h: No need to define EXPAND_BUILTIN_VA_START. * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Remove references to GCC-provided <varargs.h>. testsuite: * c-torture/execute/991216-3.c, c-torture/execute/strct-varg-1.c, c-torture/execute/va-arg-7.c, c-torture/execute/va-arg-8.c, c-torture/execute/va-arg-15.c, c-torture/execute/va-arg-16.c, c-torture/execute/va-arg-17.c, c-torture/execute/va-arg-19.c: Convert to use <stdarg.h>. * c-torture/execute/va-arg-3.c, c-torture/execute/va-arg-3.x: Delete. * gcc.dg/va-arg-2.c: New. * lib/gcc.exp, lib/objc.exp: Remove code to set -DNO_VARARGS. From-SVN: r55472
2002-07-11builtins.def: Make the argument types of abort and exit independent of the ↵Roger Sayle1-4/+4
front-end. 2002-07-10 Roger Sayle <roger@eyesopen.com> Zack Weinberg <zack@codesourcery.com> * builtins.def: Make the argument types of abort and exit independent of the front-end. * java/builtins.c (initialize_builtins): Remove defines that handled C/C++ specific junk hereby removed from builtins.def. * gcc.c-torture/execute/20000217-1.c: Fix usage of "abort". Co-Authored-By: Zack Weinberg <zack@codesourcery.com> From-SVN: r55385
2002-07-06re PR c++/7099 (G++ doesn't set the noreturn attribute on std::exit and ↵Roger Sayle1-59/+151
std::abort) PR c++/7099 * builtin-attrs.def: Define new attribute lists for use in builtins.def. * builtins.def [DEF_BUILTIN]: Modify to take an additional ATTRS argument, an enumerated value defined in builtin-attrs.def that represents the attribute list for the builtins. Modify all builtin functions to pass an appropriate attribute list. Specify "abort", "exit", "_exit" and "_Exit" builtins here with their required noreturn attributes. * tree.h (enum_builtin_function): Ignore the additional parameter to DEF_BUILTIN. * builtins.c (built_in_names): Likewise. * c-common.c: (builtin_function_2): Replace the "int noreturn_p" argument with a tree representing the functions attribute list. Pass this "attrs" argument to builtin_function. No longer handle the noreturn_p processing manually. (built_in_attributes): Move the definitions from builtin-attrs.def before c_common_nodes_and_builtins. (c_common_nodes_and_builtins): Handle the new ATTRS parameter in DEF_BUILTIN, passing it to both builtin_function and the changed builtin_function_2. * doc/extend.texi: Document __builtin_abort, __builtin_exit, __builtin__exit and __builtin__Exit. * java/builtins.c (initialize_builtins): Ignore the additional parameter to DEF_BUILTIN. Handle more C/C++ specific junk in the builtins.def file. From-SVN: r55276
2002-02-27c-common.c, [...]: Delete code implementing -traditional mode.Zack Weinberg1-5/+5
* c-common.c, c-common.h, c-decl.c, c-lex.c, c-parse.in, c-tree.h, c-typeck.c, cppexp.c, cpplex.c, cpplib.c, cpplib.h, cppmacro.c, objc/lang-specs.h, objc/objc-act.c, builtin-types.def, builtins.def, dwarf2out.c, dwarfout.c, gcc.c, toplev.c: Delete code implementing -traditional mode. * ada/misc.c, ch/ch-tree.h, ch/decl.c, cp/decl2.c, f/com.c, f/lex.c, f/top.c, java/builtins.c, java/decl.c: Delete traditional-mode-related code copied from the C front end but not used, or used only to permit the compiler to link. * doc/bugreport.texi, doc/cpp.texi, doc/extend.texi, doc/invoke.texi, doc/standards.texi, doc/trouble.texi: Document removal of -traditional mode for compilation, and remove documentation only relevant to that mode. * config/nextstep.h, config/ptx4.h, config/svr4.h, config/convex/convex.h, config/d30v/d30v.h, config/i386/dgux.h, config/i386/osf1elf.h, config/i386/osfelf.h, config/i386/osfrose.h, config/i386/sco5.h, config/i386/sol2.h, config/m68k/a-ux.h, config/m68k/hp310.h, config/m88k/dgux.h, config/m88k/dguxbcs.h, config/m88k/luna.h, config/m88k/m88k.c, config/m88k/m88k.h, config/m88k/openbsd.h, config/mips/abi64.h, config/mips/osfrose.h, config/mips/svr4-5.h, config/mips/svr4-t.h, config/sparc/sol2-sld-64.h, config/sparc/sol2.h, config/stormy16/stormy16.h: Remove all references to -traditional from target specs. Delete all mention of the no-longer-necessary TRADITIONAL_RETURN_FLOAT macro. Also delete a couple of commented-out definitions of DOLLARS_IN_IDENTIFIERS, with (incorrect) commentary referring to -traditional. * system.h: Poison TRADITIONAL_RETURN_FLOAT. * doc/tm.texi: Remove mention of TRADITIONAL_RETURN_FLOAT macro. * testsuite/gcc.c-torture/execute/920730-1t.c, testsuite/gcc.c-torture/execute/920730-1t.x, testsuite/gcc.dg/ext-glob.c: Delete test cases, only relevant to -traditional. From-SVN: r50110
2002-01-28builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace BT_FN_VOID_PTR_VAR.Paul Koning1-1/+1
* builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace BT_FN_VOID_PTR_VAR. * builtins.def (BUILT_IN_PREFETCH): Change first argument to be const. * doc/extend.texi (__builtin_prefetch): Update documentation: first argument is now const void ptr. * gcc.c-torture/execute/builtin-prefetch-1.c: Changed first argument to __builtin_prefetch to be const ptr. From-SVN: r49296
2001-12-21builtin-attrs.def (__builtin_printf_unlocked, [...]): Mark with the ↵Kaveh R. Ghazi1-0/+49
__printf__ attribute. * builtin-attrs.def (__builtin_printf_unlocked, __builtin_fprintf_unlocked, printf_unlocked, fprintf_unlocked): Mark with the __printf__ attribute. * builtins.c (expand_builtin_fputs): Add an `unlocked' parameter and set the replacement function depending on it. (expand_builtin): Skip BUILT_IN_*_UNLOCKED when not optimizing. Handle BUILT_IN_*_UNLOCKED when optimizing. * builtins.def (DEF_EXT_FALLBACK_BUILTIN, DEF_EXT_FRONT_END_LIB_BUILTIN): New macros. Declare the "unlocked" stdio functions. * c-common.c (c_expand_builtin_printf, c_expand_builtin_fprintf): Add an `unlocked' parameter and set the replacement function depending on it. (c_expand_builtin): Handle BUILT_IN_PRINTF_UNLOCKED and BUILT_IN_FPRINTF_UNLOCKED. * doc/extend.texi (printf_unlocked, fprintf_unlocked, fputs_unlocked): Document. testsuite: * gcc.dg/format/builtin-1.c: Test unlocked stdio. * gcc.dg/format/c90-printf-3.c: Likewise. * gcc.dg/format/c99-printf-3.c: Likewise. * gcc.dg/format/ext-1.c: Likewise. * gcc.dg/format/ext-6.c: Likewise. * gcc.dg/format/format.h: Prototype unlocked stdio. From-SVN: r48229
2001-12-14builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to ↵Andreas Jaeger1-2/+2
__builtin_sqrt. 2001-12-14 Roger Sayle <roger@eyesopen.com> * builtins.def: Rename BUILT_IN_FSQRT to BUILT_IN_SQRT and __builtin_fsqrt to __builtin_sqrt. * builtins.c (expand_builtin_mathfn,expand_builtin): Same. * doc/extend.texi: Simplify documentation to match patch. f: * com-rt.def: Use __builtin_sqrt instead of __builtin_fsqrt. * com.c (ffecom_init_0): Same, and fixed enumeration usage. libstdc++-v3: * acconfig.h: Test for __builtin_sqrt instead of __builtin_fsqrt. * acinclude.m4: Same. * include/c_shadow/bits/std_cmath.h: Same. * aclocal.m4: Regenerated. * config.h.in: Regenerated. * configure: Regenerated. From-SVN: r48008
2001-12-07builtin-types.def (BT_FN_VOID_PTR_VAR): New.Janis Johnson1-1/+1
* builtin-types.def (BT_FN_VOID_PTR_VAR): New. * builtins.def (BUILT_IN_PREFETCH): Change arguments. * builtins.c (expand_builtin_prefetch): Two arguments are now optional, with defaults for read prefetch with high degree of locality. * doc/extend.texi (__builtin_prefetch): Update documentation. * doc/md.texi (prefetch): Add documentation. From-SVN: r47741
2001-12-04builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.Janis Johnson1-0/+3
* builtin-types.def (BT_FN_VOID_PTR_INT_INT): New. * builtins.def (BUILT_IN_PREFETCH): New. * builtins.c (expand_builtin_expect): New. (expand_builtin): Call it. * doc/extend.texi: Document __builtin_expect. From-SVN: r47582