+2006-05-21 Mike Stump <mrs@apple.com>
+
+ * config/darwin-c.c (BAD): Conditionalize on OPT_Wpragmas.
+ (BAD2): Add.
+ (darwin_pragma_options): Use BAD instead.
+ (darwin_pragma_unused): Likewise.
+ (darwin_pragma_ms_struct): Likewise.
+
+2006-05-21 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.md (floatsitf2): Remove constraints.
+
+2006-05-21 Kazu Hirata <kazu@codesourcery.com>
+
+ PR rtl-optimization/27671
+ * simplify-rtx.c (simplify_relational_operation_1): Fix
+ simplifications of (eq/ne (xor x y) y) and
+ (eq/ne (xor x y) x).
+
+ PR tree-optimization/26622.
+ * fold-const.c (fold_ternary) <COND_EXPR>: Call fold_convert
+ on arg1.
+
+2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ * tree-cfg.c: Prune whitespace.
+ (debug_tree_cfg): Point to correct header containing the
+ TDF_* defines.
+
+2006-05-21 Bernhard Fischer <aldot@gcc.gnu.org>
+
+ PR middle-end/25776
+ * cgraphunit.c (verify_cgraph_node): Typo in error message.
+
+2006-05-20 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/25776
+ * cgraphunit.c (cgraph_optimize): Don't run ipa passes if error
+ or sorry count is non zero.
+
+2006-05-20 Andreas Schwab <schwab@suse.de>
+
+ * config/pa/pa-linux.h (STRING_ASM_OP): Prepend and append a tab.
+
+2006-05-19 Daniel Berlin <dberlin@dberlin.org>
+ Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ PR rtl-optimization/26855
+
+ * df-scan.c (mw_reg_pool, mw_link_pool): New allocation pools for
+ multiword refs.
+ (df_scan_alloc): Added code to properly handle multiword hard
+ registers and add all_blocks parameter.
+ (df_scan_free_internal, df_insn_refs_delete, df_ref_record): Added
+ code to properly handle multiword hard registers.
+ (df_rescan_blocks): Added code to remove deleted blocks from
+ bitmap.
+ (df_ref_create_structure, df_ref_record): Added code to properly
+ handle subregs.
+ (df_ref_record_1): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER
+ and set DF_REF_PARTIAL.
+ (df_defs_record): Changed DF_REF_CLOBBER into DF_REF_MUST_CLOBBER.
+ (df_uses_record): Added DF_REF_PARTIAL for subreg.
+ (df_scan_add_problem): Added flags parameter.
+ (df_ref_create_structure): Changed switching structure.
+ (df_bb_refs_record): Fixed case where duplicate artificial refs
+ were created. Changed location of flags.
+ (df_record_entry_block_defs): Added code to make stack pointer
+ live in entry block. Refined cases where frame pointer is needed.
+ Changed location of flags.
+ (df_record_exit_block_uses, df_insn_refs_record): Changed location of flags.
+ (df_set_state): Removed function.
+ (df_grow_reg_info, df_reg_chain_unlink, df_ref_remove,
+ df_insn_create_insn_record, df_insn_refs_delete,
+ df_ref_create_structure): Formatting changes.
+ * df-core.c (df_mvs_dump, df_set_flags, df_clear_flags,
+ df_delete_basic_block): New function.
+ (df_init): Changed location of flags.
+ (df_add_problem): Added flags parameter and the way flags are
+ processed.
+ (df_insn_uid_debug, df_ref_debug, debug_df_defno, debug_df_ref,
+ debug_df_chain): Improved debugging output.
+ (df_insn_debug, df_insn_uid_debug): Added multiword reg support.
+ (df_refs_chain_dump): Removed df parameter.
+ (df_iterative_dataflow): Added consistency check.
+ (df_prune_to_subcfg): Made public.
+ (df_analyze_problem): Added blocks_to_init parameter and made
+ public.
+ (df_ref_record, df_bb_refs_record, df_mark_reg,
+ df_record_exit_block_uses): Whitespace changes.
+ (df_dump): Whitespace changes.
+ * df.h: Some reordering to remove forward references.
+ (df_ref_flags.DF_REF_MW_HARDREG, DF_REF_PARTIAL,
+ DF_REF_MUST_CLOBBER, DF_REF_MAY_CLOBBER): New fields.
+ (df_ref_flags.DF_REF_CLOBBER): Deleted field.
+ (dataflow.flags): New field.
+ (df.flag): Deleted field.
+ (df_alloc_function): Added additional bitmap parameter.
+ (df_dependent_problem_function): New type.
+ (df_problem.changeable_flags): New field.
+ (df_ref_flags.DF_REF_DIES_AFTER_THIS_USE, DF_SCAN_INITIAL,
+ DF_SCAN_GLOBAL, DF_SCAN_POST_ALLOC, df_state): Removed.
+ (df_mw_hardreg): New struct.
+ (DF_INSN_UID_MWS): New macro.
+ (df_refs_chain_dump, df_ref_debug, df_chain_dump): Removed df
+ parameter.
+ (df_add_problem, df_ru_add_problem, df_rd_add_problem,
+ df_lr_add_problem, df_ur_add_problem, df_urec_add_problem,
+ df_ri_add_problem, df_scan_add_problem): Added flags parameter.
+ (df_set_state): Removed function.
+ (df_set_flags, df_clear_flags, df_delete_basic_block) New functions.
+ * df-problems.c (df_chain_dump): Removed df parameter.
+ (df_ru_alloc, df_rd_alloc, df_lr_alloc, df_ur_alloc,
+ df_urec_alloc, df_chain_alloc, df_ri_alloc): Added all blocks
+ parameter.
+ (df_ru_alloc, df_rd_alloc): Now resets all blocks.
+ (df_rd_bb_local_compute_process_def, df_ur_bb_local_compute,
+ df_chain_create_bb, df_create_unused_note, df_ri_bb_compute):
+ Split DF_REF_CLOBBER into DF_REF_MAY_CLOBBER and
+ DF_REF_MUST_CLOBBER cases.
+ (df_ru_bb_local_compute_process_def,
+ df_rd_bb_local_compute_process_def, df_lr_bb_local_compute,
+ df_lr_bb_local_compute, df_ur_bb_local_compute,
+ df_chain_create_bb): Made subreg aware.
+ (df_ru_bb_local_compute, df_rd_bb_local_compute,
+ df_lr_bb_local_compute, df_lr_bb_local_compute,
+ df_chain_create_bb): Cleanup to use proper macros.
+ (df_ur_local_finalize, df_urec_local_finalize): Removed unnecessary
+ code to fixup bitvectors.
+ (df_ri_alloc): Cleared lifetime.
+ (df_ignore_stack_reg, df_kill_notes, df_set_notes_for_mw,
+ df_create_unused_note): New function.
+ (df_ri_bb_compute, df_ri_compute): Added code to create/update
+ REG_DEAD and REG_UNUSED notes as well as register information.
+ (df_ru_dump, df_rd_dump, df_lr_dump, df_ur_dump, df_urec_dump,
+ df_chains_dump): Fixed crash if problem was never run.
+ (df_ru_add_problem, df_rd_add_problem, df_lr_add_problem,
+ df_ur_add_problem, df_urec_add_problem, df_chain_add_problem,
+ df_ri_add_problem): Processes flags in uniform manner.
+ (df_ru_alloc, df_ru_local_compute, df_ru_confluence_n, df_ru_free,
+ df_ru_dump, df_rd_local_compute, df_rd_confluence_n, df_rd_free,
+ df_rd_dump, df_urec_free_bb_info): Formatting changes.
+ (df_ru_free_bb_info, df_ru_bb_local_compute, df_ru_dump,
+ df_rd_free_bb_info, df_rd_bb_local_compute_process_def,
+ df_rd_bb_local_compute, df_rd_dump, df_lr_free_bb_info,
+ df_lr_bb_local_compute, df_lr_local_compute, df_ur_free_bb_info,
+ df_ur_dump, df_urec_free_bb_info, df_urec_dump,
+ df_chain_create_bb, df_ri_bb_compute): Whitespace changes.
+ * modulo-sched.c (sms_schedule): Added flag parameter to calls.
+ * see.c (see_initialize_data): Ditto.
+ * final.c (rest_of_clean_state) Added regstack_completed.
+ * rtl.h (regstack_completed): Ditto.
+ * reg-stack.c (regstack_completed): Ditto.
+
+2006-05-19 Mike Stump <mrs@apple.com>
+
+ * c-tree.h (default_conversion): Remove.
+ * c-common.h (default_conversion): Add.
+
+2006-05-19 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * tree-vrp.c (valid_value_p): New function.
+ (adjust_range_with_scev): Fail if the value of bound is not
+ simple.
+
+2006-05-19 Richard Sandiford <richard@codesourcery.com>
+
+ * config/mips/linux-unwind.h: Include <asm/unistd.h>
+ (mips_fallback_frame_state): Use syscall numbers to determine
+ the appropriate li instruction for the current ABI. Only use
+ __NR_sigreturn for o32.
+
+2006-05-19 Nicolas Setton <setton@adacore.com>
+
+ * langhooks.h (struct lang_hooks): Add dwarf_name language hook.
+ * langhooks.c (lhd_dwarf_name): New function.
+ * langhooks-def.h (lhd_dwarf_name): Declare.
+ (LANG_HOOKS_DWARF_NAME): New macro, defaults to lhd_dwarf_name.
+ * dwarf2out.c (dwarf2_name): Use the dwarf_name language hook.
+ * ada/misc.c (gnat_dwarf_name): New function.
+ (LANG_HOOKS_DWARF_NAME): Define to gnat_dwarf_name.
+
+2006-05-19 Richard Sandiford <richard@codesourcery.com>
+
+ * libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
+ libgcc2.h.
+ (LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
+ MIN_UNITS_PER_WORD logic from libgcc2.h. Do nothing if
+ LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
+ * libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
+ Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
+ determine the size of Wtype, etc.
+ * mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
+ (swfloatfuncs): New variable.
+ (dwfloatfuncs): Likewise.
+ (lib2funcs): Remove floating-point conversion functions from
+ initial assignment. Use LIB2_SIDITI_CONV_FUNCS to determine
+ the set of conversion routines needed. Allow entries to specify
+ an object name, filename and word size. Update users accordingly.
+ * Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
+ * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
+
+ Revert:
+
+ 2006-02-08 Roger Sayle <roger@eyesopen.com>
+
+ PR target/22209
+ * config/fixtfdi.c: New libgcc source file.
+ * config/fixunstfdi.c: New source file.
+ * config/floatditf.c: New source file.
+ * config/floatunditf.c: New souce file.
+ * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
+ files above instead of config/mips/_tilib.c.
+ * config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
+
2006-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa/t-hpux-shlib (SHLIB_LINK): Remove `-lc'.
PR c/18740
PR c/7948
PR c/25802
+ PR c/27673
* c-tree.h (struct c_arg_info): Add had_vla_unspec.
(c_vla_unspec_p): Add.
(c_vla_type_p): Add.
typeof when argument is a variably modified type not inside sizeof or alignof.
(c_parser_direct_declarator_inner): Propagate errors.
(c_parser_sizeof_expression): Add support for [*].
+ (c_parser_parms_declarator): Initialize had_vla_unspec.
+ (c_parser_parms_list_declarator): Likewise.
* c-typeck.c (c_vla_type_p): Add.
(composite_type): Add support for vla compositing.
(comptypes_internal): Add support for vla compatibility.