X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=2d5ec00dc13cb6581a08e51faf9639de796af948;hb=4070bd4355fd0e130b0ac014f25446406d7ff370;hp=a6d84223314175a40661927e560220523b25f7e8;hpb=821960c78df37188d9dc47e55e9d0d4d6eb3339b;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a6d84223314..2d5ec00dc13 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,11 +1,867 @@ +2003-08-28 Kaveh R. Ghazi + + * 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. + +2003-08-28 Kaveh R. Ghazi + + * 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. + +2003-08-28 Nathanael Nerode + + * fixinc/mkfixinc.sh: Remove special case code for unsupported + variants of i?86, powerpcle, and thumb. + * fixinc/mkfixinc.sh: Remove special case code for unsupported + arm and hppa variants. + +2003-08-28 Kaveh R. Ghazi + + * 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. + +2003-08-28 Ulrich Weigand + + * config/s390/s390.c (legitmate_constant_p): Use LARL on + zSeries machines even in 31-bit addressing mode. + (legitimate_reload_constant_p): Likewise. + (legitimize_pic_address): Likewise. + (legitimize_tls_address): Likewise. + (s390_split_branches): Likewise. + (s390_dump_pool): Likewise. + (s390_mainpool_finish): Likewise. + (s390_chunkify_start): Likewise. + (s390_select_rtx_section): Likewise. + * config/s390/s390.md ("doloop_si"): Likewise. + ("pool_start_31", "pool_end_31"): Likewise. + ("pool_start_64", "pool_end_64"): Likewise. + ("main_base_31_small", "main_base_31_large"): Likewise. + ("main_base_64"): Likewise. + ("reload_base_31", "reload_base_64"): Likewise. + ("*movsi_larl"): New insn. + ("cjump", "icjump"): Use long branches on zSeries machines. + ("jump"): Likewise. + ("call"): Use BRASL on zSeries machines. + ("call_value", "call_value_tls"): Likewise. + ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove + and replace by ... + ("*bras", "*brasl", "*basr") ... these new insns. + ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r", + "bas_31_r"): Remove and replace by ... + ("*bras_r", "*brasl_r", "*basr_r") ... these new insns. + ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls", + "bas_64_tls", "bas_31_tls"): Remove and replace by ... + ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns. + ("*return_si", "*return_di"): Remove and replace by ... + ("*return"): ... this new insn. + ("rotlsi3"): Allow on zSeries machines. + + * config/s390/s390.c (legitimize_reload_constant_p): Use + LL/LH type instructions in z/Architecture mode. + * config/s390/s390.md ("*movsi_lli"): Likewise. + ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise. + ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise. + ("*extendqisi2"): Use LB in z/Architecture mode. + ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in + z/Architecture mode. + ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"): + Likewise. + + * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit + and 31-bit mode. + ("ptr_extend"): Allow only in 64-bit mode. + +2003-08-27 Daniel Jacobowitz + + * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX) + (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary + definitions. + (main): Only use standard_startfile_prefix if native. + * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update. + +2003-08-27 Per Bothner + + * cpperror.c (print_location): Don't check for !pfile->buffer. That + test fails following my 08-21 change, and it seems unnecessary anyway. + (cpp_error): Likewise. + +2003-08-27 Jason Merrill + + * real.c (do_multiply): Initialize with memset. + +2003-08-27 Zdenek Dvorak + + * gcov.c (typedef struct arc_info): New field cs_count. + (accumulate_line_counts): Find cycles correctly. + +2003-08-27 Ulrich Weigand + + * config/s390/s390.c (struct machine_function): Remove member + literal_pool_label. + (s390_optimize_prolog): Replace TEMP_REG argument with + TEMP_USED and BASE_USED. Do not check get_pool_size (). + (general_s_operand): Accept all immediates before reload if + ALLOW_IMMEDIATE. If not ALLOW_IMMEDIATE, reject literal pool + references. + (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling. + (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns. + (s390_alloc_pool): New function. + (s390_new_pool): Call it. + (s390_dump_pool): Add REMOTE_LABEL argument. + (s390_chunkify_start): Add BASE_REG argument. Do not check + get_pool_size (). + (s390_chunkify_finish): Add BASE_REG argument. Adapt + s390_dump_pool call. + (s390_pool_count, s390_nr_constants): Remove. + (s390_output_constant_pool): Remove. + (s390_mainpool_start): New function. + (s390_mainpool_finish): New function. + (s390_mainpool_cancel): New function. + (s390_reorg): Implement main literal pool handling. + (s390_emit_prologue): Emit main_pool placeholder instead of + literal_pool_31 / literal_pool_64 insns. + * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove. + (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove. + * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant. + ("main_base_31_small", "main_base_31_large"): New insns. + ("main_base_64", "main_pool"): New insns. + ("literal_pool_31", "literal_pool_64"): Remove. + +2003-08-27 Nathanael Nerode + + * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from + fixinc.ptx. + * fixinc/inclhack.def (undefine_null): Don't generate \r characters. + Prettify a little. + * fixinc/fixincl.x: Regenerate. + +2003-08-27 Richard Earnshaw + + * lib1funcs.asm (L_ieee754_sp): New. Include ieee754-sf.S. + (L_ieee754_dp): New. Include ieee754-df.S. + * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb, + and compilation in apcs-26 mode. + * arm/ieee754-df.S: Likewise. + * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules + (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets. + +2003-08-27 Nicolas Pitre + + * arm/ieee754-sf.S: New. + * arm/ieee754-df.S: New. + +2003-08-27 Jakub Jelinek + + * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust + and restore it if returning NULL. + +2003-08-27 Richard Sandiford + + * calls.c (initialize_argument_information): If an argument has no + stack space associated with it, and BLOCK_REG_PADDING is defined, + use it to decide at which end the argument should be padded. + * function.c (assign_parms): Allocate BLKmode stack slots. + * config/mips/mips-protos.h (mips_pad_arg_upward): Declare. + (mips_pad_reg_upward): Declare. + * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING. + (CUMULATIVE_ARGS): Remove num_adjusts and adjusts. + (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward. + (BLOCK_REG_PADDING): Use mips_pad_reg_upward. + * config/mips/mips.c (struct mips_arg_info): Remove struct_p. + (mips_expand_call): Remove code for generating structure shifts. + (mips_arg_info): Don't set struct_p. Don't set fpr_p for non-float + types unless using the EABI. + (function_arg_advance): Don't generate shift instructions. + (function_arg): Don't return them. Don't short-circuit the + check for double structure chunks for DFmode arguments. + (mips_pad_arg_upward, mips_pad_reg_upward): New functions. + (mips_expand_prologue): Remove code to emit structure shifts. + * config/mips/irix6-libc-compat.c: Remove workarounds for buggy + structure passing (inet_ntoa, inet_lnaof, inet_netof). Update + comments to say that only structure returns are a problem. + +2003-08-26 Nathanael Nerode + + * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h: + Fix to match produced versions. + * fixinc/inclhack.def (longlong_t): New disabled test, ported + from fixinc.svr4. + * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported + from fixinc.ptx. + * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix, + ported from fixinc.ptx. + +2003-08-26 Per Bothner + + * cpplib.h (struct cpp_token): Change type of field line to fileline. + (cpp_error_with_line): Use fileline for appropriate parameter. + * cpphash.h (struct cpp_macro): Change type of field line to fileline. + (struct cpp_reader): Likewise for fields line and directive_line. + (_cpp_begin_message): Use fileline for appropriate parameter. + * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line, + cpp_error): Use fileline for appropriate parameters and variables. + (print_location): New local lin, since it is not a fileline. + +2003-08-26 Roger Sayle + + PR middle-end/12002 + * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros. + (FLOAT_TYPE_P): Define in terms of these two new macros. + * fold-const.c (fold ): Don't convert x+x into x*2.0 + for complex floating point types. + +2003-08-26 Ulrich Weigand + + * config/s390/s390.c (emit_prologue): Don't check literal pool size. + * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call + s390_output_pool_entry. + +2003-08-26 Nathanael Nerode + + * fixinc/inclhack.def (svr4_preproc_lint_on, + svr4_preproc_lint_off, svr4_preproc_machine): New disabled + fixes, ported from fixinc.svr4. + +2003-08-26 Mark Mitchell + + * doc/install.texi (Prerequisites): Mention GNU make requirement. + + * Makefile.in (AR_FOR_TARGET): Export it. + (AR_CREATE_FOR_TARGET): Likewise. + (AR_FLAGS_FOR_TARGET): Likewise. + (AR_EXTRACT_FOR_TARGET): Likewise. + (AWK): Likewise. + (BUILD_PREFIX): Likewise. + (BUILD_PREFIX_1): Likewise. + (DESTDIR): Likewise. + (GCC_FOR_TARGET): Likewise. + (INCLUDES): Likewise. + (INSTALL_DATA): Likewise. + (LIB1ASMSRC): Likewise. + (LIBGCC2_CFLAGS): Likewise. + (MACHMODE_H): Likewise. + (NM_FOR_TARGET): Likewise. + (RANLIB_FOR_TARGET): Likewise. + (libsubdir): Likewise. + (slibdir): Likewise. + (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're + exporting. + (libgcc.a): Don't pass them here. + (stmp-multilib): Or here. + (install-libgcc): Or here. + (install-multilib): Or here. + (POSTSTAGE1_FLAGS_TO_PASS): Or here. + (stage1_build): Or here. + +2003-08-26 Andreas Krebbel + + * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi", + "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns. + +2003-08-26 Andreas Krebbel + + * config/s390/s390.md ("*fmadddf", "*fmsubdf", + "*fmaddsf", "*fmsubsf"): New insns. + +2003-08-26 Roger Sayle + + * fold-const.c (fold ): Optimize (C1/X)*C2 into + (C1*C2)/X when unsafe math optimizations are allowed. + (fold ): Optimize C1/(X*C2) into (C1/C2)/X with unsafe + math optimizations. Minor code clean-ups. Recursively call + fold when constructing sub-expressions. + +2003-08-26 Roger Sayle + + * builtins.c (fold_builtin_bitop): New function to perform constant + folding of ffs, clz, ctz, popcount and parity builtin functions + and their long and long long variants (such as ffsl and ffsll). + (fold_builtin): fold_builtin_bitop when appropriate. + * simplify-rtx.c (simplify_unary_operation): Honor both + CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when + evaluating clz and ctz at compile-time, for operands wider + than HOST_WIDE_INT. + +2003-08-26 Nathan Sidwell + + * builtins.c (build_function_call_expr): Don't set + TREE_SIDE_EFFECTS here. + * expr.c (emit_block_move_via_libcall): Likewise. + (clear_storage_via_libcall): Likewise. + * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure + CALL_EXPRs. + + * gcse.c (is_too_expensive): New function. + (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it. + +2003-08-25 Zack Weinberg + + * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove + commented-out logic to use DCE threads (if present), add + support for POSIX threads. + * config/ia64/hpux.h: Define CPP_SPEC to set appropriate + #defines for -pthread. Add -lpthread to LIB_SPEC when + -pthread. In both cases take -mt as a synonym for -pthread + for acc compatibility. + Define GTHREAD_USE_WEAK to 0. + * config/pa/pa-hpux11.h: Likewise for CPP_SPEC and LIB_SPEC. + Remove old logic for DCE threads from LIB_SPEC. + * config/pa/pa64-hpux.h: Define GTHREAD_USE_WEAK to 0. + +2003-08-25 Roger Sayle + + * builtins.c (expand_builtin_mathfn): Rearrange so that we only + return 0 for invalid argument types. Instead drop through to a + call of expand_call at the bottom of function. If op is SQRT, + try attaching a SQRT rtx as the REQ_EQUAL note of the libcall. + +2003-08-25 Richard Henderson + + * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate + result when op0 is SImode. + +2003-08-25 Nathanael Nerode + + * fixinc/inclhack.def (svr4_sighandler_type): New fix, ported + from fixinc.svr4. + * fixinc/fixincl.x: Regenerate. + * fixinc/tests/base/sys/signal.h: Regenerate. + +2003-08-25 Ulrich Weigand + + * combine.c (simplify_comparison): Re-enable widening of comparisons + with non-paradoxical subregs of non-REG expressions. + +2003-08-25 Ulrich Weigand + + * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN. + +2003-08-25 Ulrich Weigand + + * combine.c (combine_simplify_rtx): Fix RTL sharing bug. + +2003-08-25 Gabriel Dos Reis + + * pretty-print.h (pp_maybe_newline_and_indent): New macro. + * c-pretty-print.h (c_pretty_printer): Now typedef to the + structure. Be consistent with pretty-print.h abd cxx-pretty-print.h + (struct c_pretty_print_info): Document. Add new fields. + (pp_type_specifier_seq): Rename from pp_c_type_specifier. + (pp_direct_abstract_declarator): New macro. + (pp_ptr_operator): Likewise. + (pp_simple_type_specifier): Likewise. + (pp_expression): Likewise. + (pp_parameter_list): Rename from pp_parameter_declaration. + * c-pretty-print.c (pp_c_whitespace): Now a function. + (pp_c_left_paren): Likewise. + (pp_c_right_paren): Likewise. + (pp_c_dot): Likewise. + (pp_c_ampersand): Likewise. + (pp_c_arrow): Likewise. + (pp_c_semicolon): Likewise. + (pp_c_type_cast): New function. + (pp_c_space_for_pointer_operator): Likewise. + (pp_c_call_argument_list): Likewise. + (pp_c_cv_qualifier): Adjust prototype. + (pp_c_type_qualifier_list): Likewise. + (pp_c_pointer): Likewise. Handle REFERENCE_TYPE here. + (pp_c_type_specifier): Rename from pp_c_simple_type_specifier. + Adjust to follow standard grammar. + (pp_c_specifier_qualifier_list): Adjusr prototype. Handle + REFERENCE_TYPE. Tidy. + (pp_c_parameter_type_list): Adjust prototype. Tidy. + (pp_c_parameter_declaration): Remove. + (pp_c_abstract_declarator): Adjust prototype. + (pp_c_direct_abstract_declarator): Likewise. + (pp_c_type_id): Likewise. + (pp_c_storage_class_specifier): Likewise. + (pp_c_function_specifier): Likewise. + (pp_c_declaration_specifiers): Likewise. + (pp_c_direct_declarator): Likewise. + (pp_c_declarator): Likewise. + (pp_c_declarator): Likewise. + (pp_c_declaration): Likewise. + (pp_c_attributes): Likewise. Tidy. + (pp_c_function_definition): Adjust prototype. + (pp_c_char): Likewise. + (pp_c_string_literal): Likewise. + (pp_c_integer_constant): Likewise. + (pp_c_character_constant): Likewise. + (pp_c_bool_constant): Likewise. + (pp_c_enumeration_constant): Likewise. + (pp_c_floating_constant): Likewise. + (pp_c_constant): Likewise. + (pp_c_identifier): Likewise. + (pp_c_primary_expression): Likewise. Remove TARGET_EXPR case. Tidy. + (pp_c_initializer): Adjust prototype. + (pp_c_init_declarator): Likewise. + (pp_c_initializer_list): Likewise. + (pp_c_id_expression): Likewise. + (pp_c_postfix_expression): Likewise. + (pp_c_expression_list): Likewise. + (pp_c_unary_expression): Likewise. + (pp_c_cast_expression): Likewise. + (pp_c_multiplicative_expression): Likewise. + (pp_c_additive_expression): Likewise. + (pp_c_shift_expression): Likewise. + (pp_c_relational_expression): Likewise. + (pp_c_equality_expression): Likewise. + (pp_c_and_expression): Likewise. + (pp_c_exclusive_or_expression): Likewise. + (pp_c_inclusive_or_expression): Likewise. + (pp_c_logical_and_expression): Likewise. + (pp_c_logical_or_expression): Likewise. + (pp_c_conditional_expression): Likewise. + (pp_c_assignment_expression): Likewise. + (pp_c_expression): Likewise. Tidy. + (pp_c_statement): Likewise. Document. + (pp_c_pretty_printer_init): Adjust prototype. Tidy. + + * c-lang.c (c_initialize_diagnostics): Update. + * c-common.h (strip_pointer_operator): Declare. + * c-common.c (strip_pointer_operator): Define. + +2003-08-25 Mark Mitchell + + PR c++/8795 + * tree.h (build_method_type_directly): Declare. + * c-common.c (handle_vector_size_attributes): Handle METHOD_TYPEs. + (vector_size_helper): Likewise. + * tree.c (build_method_type_directly): New function. + (build_method_type): Use it. + +2003-08-24 Richard Henderson + + * config/i386.i386.c (ix86_return_in_memory): Reformat. Return true + for 16-byte vector modes if sse not enabled; warn for abi change. + (ix86_value_regno): Only return xmm0 for 16-byte vector types. + +2003-08-24 Kazu Hirata + + * rtlanal.c (may_trap_p): Simplify an integer comparison. + +2003-08-24 Nathanael Nerode + + * fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance + comment. Enable for DYNIX/ptx systems (when they switch to + regular fixincludes). + * fixinc/fixincl.x: Regenerate. + +2003-08-23 Jason Eckhardt + + * config/i860/t-i860: New. + * config.gcc (i860-*-sysv4*): Add t-i860 to tmake_file. + +2003-08-23 Jakub Jelinek + + * c-decl.c (pushdecl): Only put decls which finish_struct will do + something about onto incomplete chain. + (finish_struct): If not removing type from incomplete + list, update prev. + +Wed Aug 20 12:08:55 CEST 2003 Jan Hubicka + + PR target/11369 + * i386.c (ix86_expand_carry_flag_compare): Validate operand. + + PR target/11031 + * i386.c (const_0_to_3_operand, const_0_to_7_operand, + const_0_to_15_operand, const_0_to_255_operand): New predicates. + * i386.h (PREDICATE_CODES): Add these. + * i386.c (pinsrw and pextrw patterns): Use them. + + PR target/10984 + * i386.c (ix86_expand_binop_builtin): Behave sanely for VOIDmodes. + + PR target/8869 + * expr.c (convert_modes): Deal properly with integer to vector + constant conversion. + + PR target/8871 + * i386.md (zero_extendsidi2*): Add MMX and SSE alternatives. + +2003-08-23 Ulrich Weigand + + * config/s390/s390.h (LOAD_EXTEND_OP): Remove. + * config/s390/s390.md ("movhi"): New expander; old insn renamed to ... + ("*movhi"): ... this. + ("movqi", "*movqi"): Likewise. + ("movqi_64"): Remove. + ("*zero_extendhisi2_31"): Change predicate to s_operand. + +2003-08-23 Dale Johannesen + * calls.c (emit_library_call_value_1): Fix obvious errors in + arguments to emit_group_store. + +2003-08-23 Jason Eckhardt + + * calls.c (emit_library_call_value_1): Remove code related + to LIBGCC_NEEDS_DOUBLE. + * config/stormy16/stormy16.h: Remove mention of LIBGCC_NEEDS_DOUBLE. + * doc/tm.texi: Likewise. + * system.h: Poison the LIBGCC_NEEDS_DOUBLE macro. + +2003-08-23 Richard Sandiford + + * config/mips/linux64.h (STARTFILE_PREFIX_SPEC): Remove. + +2003-08-23 Richard Sandiford + + * config/mips/mips.c (mips_setup_incoming_varargs): Handle o32 and o64 + as well. Put memory references in the varargs alias set. + (mips_expand_prologue): Remove varargs handling from here. + +2003-08-23 Ulrich Weigand + + * config/s390/s390.c (s390_expand_movstr, s390_expand_clrstr, + s390_expand_cmpmem, s390_output_constant_pool, s390_build_va_list, + s390_function_profiler, s390_output_mi_thunk): Use ISO C syntax + for function pointer calls. + * config/s390/s390.md ("*negdi2_31"): Likewise. + +2003-08-23 Roger Sayle + + * combine.c (apply_distributive_law): Correct comment. + +2003-08-23 Jason Eckhardt + + * config/i860/i860.h: Remove comment mentioning LIBGCC_NEEDS_DOUBLE. + +2003-08-22 Jason Eckhardt + + * config/i860/i860.c (i860_build_va_list): Create the va_decl + declaration. Document the va_list structure. + (i860_va_start): Initialize the va_list structure. + (i860_va_arg): Rewrite completely. + * config/i860/i860.h (LIBGCC_NEEDS_DOUBLE): Don't define. + * config/i860/varargs.asm: Do not allocate or initialize + a va_list. Return the address of the register save area. + +2003-08-22 Kazu Hirata + + * config/iq2000/iq2000.c: Fix comment typos. + * config/iq2000/iq2000.md: Likewise. + +2003-08-22 Kazu Hirata + + * config/iq2000/iq2000.c: Follow spelling conventions. + * config/iq2000/iq2000.h: Likewise. + * config/mn10300/mn10300.c: Likewise. + +2003-08-22 Jason Eckhardt + + * config/i860/i860.c (output_move_double): Don't set latehalf + to zero for CONST_INT (since it could be, e.g., -1). + + * config/i860/i860.h (REMSI3_LIBCALL): Replace this macro... + (MODSI3_LIBCALL): ...with this one. + (UREMSI3_LIBCALL): Replace this macro... + (UMODSI3_LIBCALL): ...with this one. + +2003-08-22 Jason Eckhardt + + * config/i860/i860-protos.h (output_delay_insn): Remove prototype. + (output_delayed_branch): Remove prototype. + (single_insn_src_p): Remove prototype. + * config/i860/i860.c (single_insn_src_p): Remove function. + (output_delayed_branch): Remove function. + (output_delay_insn): Remove function. + (va_start): Remove unconditional test and dead code, re-format. + Fix coding style and spelling problems in various comments. + * config/i860/i860.md (UNSPECV_BLOCKAGE): Define constant... + (blockage pattern): ...and use it here. + (all define_peephole patterns related to delayed branches): Remove. + Fix coding style and spelling problems in various comments. + +2003-08-22 Jason Eckhardt + + * config/i860/i860.c: Replace all occurrences of 'GNU CC' with 'GCC'. + Remove all uses of the PARAMS macro. Remove superflous prototypes. + Convert all function definitions from traditional to ISO C90 syntax. + * config/i860/i860-protos.h: Replace all occurrences of 'GNU CC' + with 'GCC'. Remove all uses of the PARAMS macro. + * config/i860/i860.h: Replace all occurrences of 'GNU CC' with 'GCC'. + * config/i860/i860.md: Likewise. + * config/i860/sysv4.h: Likewise. + * config/i860/varargs.asm: Likewise. + +2003-08-22 Jason Eckhardt + + * config/i860/i860-protos.h (i860_va_start): Remove 'stdarg_p' + argument. + (tdesc_section): Add prototype. + Update copyright dates. + * config/i860/i860.c: Include coretypes.h, tm.h, and toplev.h. + (TARGET_ASM_FUNCTION_PROLOGUE): Move definition to end of file. + (TARGET_ASM_FUNCTION_EPILOGUE): Likewise. + (targetm): Likewise. + (i860_output_function_prologue): Substitute HOST_WIDE_INT_PRINT_DEC + for '%d' where necessary. + (i860_va_start): Remove 'stdarg_p' argument. Make conditional checks + on 'stdarg_p' unconditional. Divide current_function_args_info.ints + by UNITS_PER_WORD when referencing (likewise for .floats). + (I860_SVR4_VARARGS): Rename... + (I860_SVR4_VA_LIST): ...to this. + Call build() with 't' rather than 'field'. + (i860_rtx_costs): New function. + (TARGET_RTX_COSTS): Define. + (i860_internal_label): New function. + (TARGET_ASM_INTERNAL_LABEL): Define. + (i860_file_start): New function. + Update copyright dates. + * config/i860/i860.h (CPP_PREDEFINES): Remove. + (TARGET_CPU_CPP_BUILTINS): Define. + (EXPAND_BUILTIN_VA_START): Remove 'stdarg' argument. + (CONST_COSTS): Remove (and move code to i860_rtx_costs). + (ASM_FILE_START): Remove. + (ASM_FILE_START_1): Remove. + (ASM_GLOBALIZE_LABEL): Remove. + (ASM_OUTPUT_INTERNAL_LABEL): Remove. + (ASM_OUTPUT_CASE_LABEL): Replace call of ASM_OUTPUT_INTERNAL_LABEL + with targetm.asm_out.internal_label. + Update copyright dates. + * config/i860/sysv4.h (USER_LABEL_PREFIX): Define. + (CPP_PREDEFINES): Remove. + (TARGET_OS_CPP_BUILTINS): Define. + (GLOBAL_ASM_OP): Define. + (ASM_FILE_START): Remove. + (TARGET_ASM_FILE_START_FILE_DIRECTIVE): Define. + (TARGET_ASM_FILE_START): Define. + Update copyright dates. + +2003-08-22 Jason Eckhardt + + * gcc/config.gcc (i860-*-sysv4*): Add target. + * config/i860/i860-protos.h: New. + * config/i860/i860.c: New. + * config/i860/i860.h: New. + * config/i860/i860.md: New. + * config/i860/sysv4.h: New. + * config/i860/varargs.asm: New. + * config/i860/x-sysv4: New. + +2003-08-22 Jason Eckhardt + + * config/pa/pa.c: Replace 'GNU CC' with 'GCC'. + Remove all uses of PARAMS macro. + Convert all function definitions to ISO C90 syntax. + * config/pa/elf.h: Replace 'GNU CC' with 'GCC'. + * config/pa/fptr.c: Likewise. + * config/pa/lib2funcs.asm: Likewise. + * config/pa/long_double.h: Likewise. + * config/pa/milli64.S: Likewise. + * config/pa/pa-64.h: Likewise. + * config/pa/pa-hpux.h: Likewise. + * config/pa/pa-hpux10.h: Likewise. + * config/pa/pa-hpux11.h: Likewise. + * config/pa/pa-linux.h: Likewise. + * config/pa/pa-modes.def: Likewise. + * config/pa/pa-osf.h: Likewise. + * config/pa/pa-pro-end.h: Likewise. + * config/pa/pa.md: Likewise. + * config/pa/pa32-linux.h: Likewise. + * config/pa/pa64-linux.h: Likewise. + * config/pa/pa64-hpux.h: Likewise. + * config/pa/pa64-regs.h: Likewise. + * config/pa/quadlib.c: Likewise. + * config/pa/rtems.h: Likewise. + * config/pa/pa-protos.h: Replace 'GNU CC' with 'GCC' and remove + all uses of the PARAMS macro. + * config/pa/pa.h: Likewise. + * config/pa/som.h: Likewise. + + * config/iq2000/iq2000.c: Replace 'GNU CC' with 'GCC'. + Remove all uses of PARAMS macro. + Convert all function definitions to ISO C90 syntax. + * config/iq2000-protos.h: Replace 'GNU CC' with 'GCC'. + Remove all uses of PARAMS macro. + * config/iq2000.h: Remove all uses of PARAMS macro. + * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'. + +2003-08-23 Ulrich Weigand + + * config/s390/s390-protos.h (s390_output_pool_entry): Declare. + * config/s390/s390.c (gen_consttable): Remove. + (s390_dump_pool): Use UNSPECV_POOL_ENTRY for pool entry insns. + (s390_output_pool_entry): New function. + * config/s390/s390.md (UNSPECV_POOL_QI, UNSPECV_POOL_HI, + UNSPECV_POOL_SI, UNSPECV_POOL_DI, UNSPECV_POOL_TI, + UNSPECV_POOL_SF, UNSPECV_POOL_DF): Remove, replace by ... + (UNSPECV_POOL_ENTRY): ... this new constant. + ("consttable_qi", "consttable_hi", "consttable_si", "consttable_di", + "consttable_ti", "consttable_sf", "consttable_df"): Remove ... + ("*pool_entry"): ... and replace by this new insn. + ("literal_pool_31"): Do not emit anchor label if pool empty. + + * config/s390/s390.c (struct machine_function): Add save_return_addr_p. + (s390_optimize_prolog): Save RETURN_REGNUM if save_return_addr_p. + (s390_fixup_clobbered_return_reg): Remove. + (s390_reorg): Don't call s390_fixup_clobbered_return_reg. + (s390_return_addr_rtx): Always retrieve return address from save area + slot. Use save_return_addr_p to force slot to be filled. + (s390_emit_prologue): Remove has_hard_reg_initial_val test. + +2003-08-22 Chris Demetriou + + * config/mips/mips.h (MASK_FIX_SB1, TARGET_FIX_SB1): New defines. + (TARGET_SWITCHES): Add -mfix-sb1 and -mno-fix-sb1. + * config/mips/mips.md (divdf3, divsf3, sqrtdf2, sqrtsf2): Work + around SB-1 errata if TARGET_FIX_SB1 is set. + (recip.d insn, recip.s insn, rsqrt.d insn, rsqrt.s insn): Likewise. + * doc/invoke.texi: Document MIPS -mfix-sb1 and -mno-fix-sb1. + +2003-08-22 Roger Sayle + + * hashtable.c (ht_expand): Avoid calculating rehash for the common + case that the first probe hits an empty hash table slot. + +2003-08-22 Mark Mitchell + + * config/ia64/hpux.h (SUPPORTS_INIT_PRIORITY): Define to 0. + +2003-08-22 Mark Mitchell + + * config/ia64/ia64.md (*ptr_extend_plus_1): Rename to ... + (ptr_extend_plus_imm): ... this. + * config/ia64/ia64.c (addp4_optimize_ok): Do not disable addp4 + optimization in C++. + (ia64_output_mi_thunk): Support ILP32 mode. + +2003-08-22 bernardo innocenti + + * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused + function. + * gcc/config/m68k/m68k.c (-m68k_svr3_asm_out_constructor): likewise. + +2003-08-22 Kazu Hirata + + * config/i386/i386.c (const_int_1_operand): Simplify an + integer comparison. + +2003-08-22 Alan Modra + + * config/fp-bit.c: Specify config/ dir for include of fp-bit.h. + * config/rs6000/ppc64-fp.c: Likewise. + +2003-08-22 Kazu Hirata + + * cfgcleanup.c: Fix comment typos. + * emit-rtl.c: Likewise. + * optabs.c: Likewise. + * ra-build.c: Likewise. + * rtlanal.c: Likewise. + * tree.h: Likewise. + +2003-08-22 Kazu Hirata + + * c-decl.c: Fix comment formatting. + * cfgrtl.c: Likewise. + * combine.c: Likewise. + * convert.c: Likewise. + * dominance.c: Likewise. + * dwarf2out.c: Likewise. + * dwarfout.c: Likewise. + * expmed.c: Likewise. + * fold-const.c: Likewise. + * gcov.c: Likewise. + * genattrtab.c: Likewise. + * ggc-common.c: Likewise. + * mips-tfile.c: Likewise. + * regmove.c: Likewise. + +2003-08-22 Kazu Hirata + + * builtin-attrs.def: Fix comment formatting. + * c-pretty-print.c: Likewise. + * diagnostic.h: Likewise. + * langhooks.h: Likewise. + * recog.c: Likewise. + * simplify-rtx.c: Likewise. + * tree.def: Likewise. + 2003-08-22 Bernardo Innocenti * config/m68k/m68k-protos.h: Convert to ISO C90. * config/m68k/m68k.c: Likewise. 2003-08-21 Bernardo Innocenti - Paul Dale - Peter Barada + Paul Dale + Peter Barada * config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for ColdFire cores. @@ -61,7 +917,7 @@ * config/s390/s390.h: Prefix #include of s390/fixdfdi.h [under IN_LIBGCC2] with config/. -2003-08-21 Per Bothner +2003-08-21 Per Bothner * cppfiles.c (stack_file): Correctly pass return_at_eof parameter to cpp_push_buffer.