+2003-08-31 Olivier Hainque <hainque@act-europe.fr>
+
+ * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
+ the != 0 case, which ensures pending stack adjustments are flushed.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * configure.frag: Delete file.
+ * configure.in: Rename the substitution variables
+ dep_host_xmake_file and dep_tmake_file to xmake_file and
+ tmake_file respectively. Do not expand $srcdir in the
+ value of these; leave that for Make. Introduce a new
+ substitution varaible, all_lang_makefrags, which lists
+ subdirectory Make-lang.in files; exclude these from
+ all_lang_makefiles, which is now only for subdirectory
+ outputs. Do not invoke configure.frag. Do not set nor
+ AC_SUBST_FILE target_overrides, host_overrides, or
+ language_fragments. Create build subdirectories in
+ config.status extra commands.
+ * configure: Regenerate.
+ * Makefile.in: Update substitutions to match changes to
+ configure. Use include directives instead of @-insertions
+ to read in host, target, and language fragments.
+ (Makefile rule): Do not invoke configure.frag. Do not copy
+ config.status to config.run before executing it. Set
+ CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
+ regenerated.
+ (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
+ * c-typeck.c (same_translation_unit_p): New function.
+ (comptypes): Use it instead of flags parameter to identify
+ structure types from different translation units.
+ * c-decl.c (duplicate_decls): Always call comptypes with
+ COMPTYPE_STRICT flags argument.
+ (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
+ to file_scope_decl.
+
+2003-08-30 Zack Weinberg <zack@codesourcery.com>
+
+ * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
+ * c-decl.c (struct c_scope): Remove "incomplete" field.
+ (pushdecl): Attach variables with incomplete types to
+ the TYPE_MAIN_VARIANT of the incomplete type in question.
+ (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
+ to complete, not at current_scope->incomplete. All such
+ variables do need completion.
+
+2003-08-30 Richard Earnshaw <rearnsha@arm.com>
+ Nicolas Pitre <nico@cam.org>
+
+ * arm/lib1funcs.asm (RETCOND): Delete.
+ (RETLDM): New assembler macro. Use it for returning with ldm/ldr.
+ (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
+ (__ARM_ARCH__): Move here from ieee754-?f.S.
+ (RET, RETc): Clean up definitions.
+ (DIV_FUNC_END): Renamed from FUNC_END. All uses changed.
+ (FUNC_END): New macro that marks the end of any function.
+ (ARM_FUNC_START): New macro that allows an assembler routine to be
+ implemented in ARM code even if a Thumb-only build.
+ Unconditionally include ieee754-?f.S.
+ * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
+ Mark ends of functions.
+ Split into separate conditionally-compiled units.
+ Use RETLDM to return from routines.
+ * arm/ieee754-sf.S: Similarly.
+ * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
+ Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
+ _fixsfsi and _fixunssfsi.
+
+ * arm/ieee754-df.S (__muldf3): Fix bug when result of a
+ multiplication underflows to zero.
+ (__adddf3): Fix bug when using VFP ordering on little-endian
+ processors.
+ (__fixdfsi): Use rrx to extract the carry into a register instead of
+ MRS instruction. Optimize later use of result.
+ * arm/ieee754-sf.S (__fixsfsi): Likewise.
+ (__fixunssfsi): Use a better sequence for handling negative-or-zero.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * tree-optimize.c: New file.
+ * Makefile.in (OBJS-archive): Add tree-optimize.o.
+ (tree-optimize.o): New.
+ * c-decl.c (store_parm_decls): Use allocate_struct_function.
+ (finish_function): Don't free_after_parsing or free_after_compilation.
+ (set_save_expr_context): Move to tree-optimize.c.
+ (c_expand_body_1): Use tree_rest_of_compilation.
+ * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+ * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+ * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
+ iterate until closure.
+ * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
+ LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
+ (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
+ * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
+ * toplev.h (tree_rest_of_compilation): Declare it.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * function.h (struct function): Add rtl_inline_init, saved_for_inline.
+ * integrate.c (save_for_inline): Set saved_for_inline.
+ * c-semantics.c (genrtl_scope_stmt): Check it.
+ * toplev.c (wrapup_global_declarations): Check it.
+ (rest_of_handle_inlining): Set and check rtl_inline_init.
+ (rest_of_compilation): Remove out of date comment.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * function.c (allocate_struct_function): New, split out of ...
+ (prepare_function_start, init_function_start): ... here.
+ * expr.c (init_expr): Use ggc_alloc_cleared.
+ * stmt.c (init_stmt_for_function): Likewise.
+ * tree.h (allocate_struct_function): Declare.
+
+2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Don't use negated character class in shell case
+ clause.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * function.h (struct function): Move function_frequency and
+ max_jumptable_ents before start of bit field members.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
+ (fold_builtin_constant_p) ... not here.
+
+2003-08-29 Richard Henderson <rth@redhat.com>
+
+ * c-tree.h (C_DECL_FILE_SCOPE): Move ...
+ * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
+ * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
+
+2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * 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.
+
+ * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
+ Use ATTR_MATHFN_FPROUNDING_ERRNO.
+
+2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc (i386-*-vsta): Fix obvious bogosity.
+
+ * fixinc/inclhack.def: Remove special cases for unsupported
+ PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
+ * fixinc/fixincl.x: Regenerate.
+
+2003-08-29 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (cpp.info): Just state dependencies.
+ (gcc.info): Likewise.
+ (gccint.info): Likewise.
+ (gccinstall.info): Likewise.
+ (cppinternals.info): Likewise.
+ (cpp.dvi): Likewise.
+ (gcc.dvi): Likewise.
+ (gccint.dvi): Likewise.
+ (gccinstall.dvi): Likewise.
+ (cppinternals.dvi): Likewise.
+ (gcov.1): Likewise.
+ (cpp.1): Likewise.
+ (gcc.1): Likewise.
+ (gfdl.7): Likewise.
+ (gpl.7): Likewise.
+ (fsf-funding.7): Likewise.
+ ($(objdir)/%.info): New pattern rule.
+ (%.dvi): Likewise.
+
+2003-08-29 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
+ (restage2): Likewise.
+ (restage3): Likewise.
+ (restage4): Likewise.
+ (restageprofile): Likewise.
+ (restagefeedback): Likewise.
+ (bubblestrap): Likewise.
+
+2003-08-29 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Narrow unsupported target match to avoid clobbering
+ i?86-sequent-sysv4*.
+
+2003-08-29 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (mathfn_built_in): Handle new math builtins.
+
+2003-08-28 Per Bothner <per@bothner.com>
+
+ Fix (hopefully temporary) for breakage caused by my 08-21 patch.
+ * cpplex.c (_cpp_get_fresh_line): Check for null buffer.
+ (_cpp_lex_buffer): Likewise.
+ * cpptrad.c (_cpp_read_logical_line_trad): Likewise.
+
+2003-08-28 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.md ("*mulsi3_sign"): New insn.
+ ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
+ ("mulsidi3"): ... this new insn.
+ ("umulsidi3"): New insn.
+ ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
+ mixed-mode matching constraints.
+ ("udivmodsi4", "udivmoddisi3"): New insns.
+ ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
+
+2003-08-28 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * 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 <ghazi@caip.rutgers.edu>
+
+ * 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 <neroden@gcc.gnu.org>
+
+ * 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 <ghazi@caip.rutgers.edu>
+
+ * 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 <uweigand@de.ibm.com>
+
+ * 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 <drow@mvista.com>
+
+ * 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 <pbothner@apple.com>
+
+ * 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 <jason@redhat.com>
+
+ * real.c (do_multiply): Initialize with memset.
+
+2003-08-27 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * gcov.c (typedef struct arc_info): New field cs_count.
+ (accumulate_line_counts): Find cycles correctly.
+
+2003-08-27 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 <neroden@gcc.gnu.org>
+
+ * 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 <rearnsha@arm.com>
+
+ * 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 <nico@cam.org>
+
+ * arm/ieee754-sf.S: New.
+ * arm/ieee754-df.S: New.
+
+2003-08-27 Jakub Jelinek <jakub@redhat.com>
+
+ * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
+ and restore it if returning NULL.
+
+2003-08-27 Richard Sandiford <rsandifo@redhat.com>
+
+ * 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 <neroden@gcc.gnu.org>
+
+ * 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 <pbothner@apple.com>
+
+ * 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 <roger@eyesopen.com>
+
+ 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 <PLUS_EXPR>): Don't convert x+x into x*2.0
+ for complex floating point types.
+
+2003-08-26 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * 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 <neroden@gcc.gnu.org>
+
+ * 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 <mark@codesourcery.com>
+
+ * 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 <krebbel1@de.ibm.com>
+
+ * 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 <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("*fmadddf", "*fmsubdf",
+ "*fmaddsf", "*fmsubsf"): New insns.
+
+2003-08-26 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
+ (C1*C2)/X when unsafe math optimizations are allowed.
+ (fold <RDIV_EXPR>): 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 <roger@eyesopen.com>
+
+ * 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 <nathan@codesourcery.com>
+
+ * 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 <zack@codesourcery.com>
+
+ * 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 <roger@eyesopen.com>
+
+ * 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 <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_tls_address): Properly truncate
+ result when op0 is SImode.
+
+2003-08-25 Nathanael Nerode <neroden@twcny.rr.com>
+
+ * 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 <uweigand@de.ibm.com>
+
+ * combine.c (simplify_comparison): Re-enable widening of comparisons
+ with non-paradoxical subregs of non-REG expressions.
+
+2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (distribute_notes): Handle REG_ALWAYS_RETURN.
+
+2003-08-25 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * combine.c (combine_simplify_rtx): Fix RTL sharing bug.
+
+2003-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * 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 <mark@codesourcery.com>
+
+ 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 <rth@redhat.com>
+
+ * 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 <kazu@cs.umass.edu>
+
+ * rtlanal.c (may_trap_p): Simplify an integer comparison.
+
2003-08-24 Nathanael Nerode <neroden@gcc.gnu.org>
* fixinc/inclhack.def (AAB_svr4_replace_byteorder): Enhance
* 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.
+ 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/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.
+ Remove all uses of PARAMS macro.
* config/iq2000.h: Remove all uses of PARAMS macro.
- * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
+ * config/iq2000/iq2000.md: Replace 'GNU CC' with 'GCC'.
2003-08-23 Ulrich Weigand <uweigand@de.ibm.com>
* 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,
+ * 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",
* config/m68k/m68k.c: Likewise.
2003-08-21 Bernardo Innocenti <bernie@develer.com>
- Paul Dale <pauli@snapgear.com>
- Peter Barada <peter@baradas.org>
+ Paul Dale <pauli@snapgear.com>
+ Peter Barada <peter@baradas.org>
* config/m68k/m68k.c (m68k_rtx_costs): Adjust mul/div costs for
ColdFire cores.
* config/s390/s390.h: Prefix #include of s390/fixdfdi.h
[under IN_LIBGCC2] with config/.
-2003-08-21 Per Bothner <bothner@pbothner.com>
+2003-08-21 Per Bothner <pbothner@apple.com>
* cppfiles.c (stack_file): Correctly pass return_at_eof parameter
to cpp_push_buffer.