+2008-04-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/35705
+ * fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
+ the expression is a function address.
+
+2008-04-01 George Helffrich <george@gcc.gnu.org>
+
+ PR fortran/PR35154, fortran/PR23057
+ * fortran/trans-common.c (create_common): Add decl to function
+ chain to preserve identifier scope in debug output.
+
+ * dbxout.c: Emit .stabs debug info for Fortran COMMON block
+ variables as base symbol name + offset using N_BCOMM/N_ECOMM.
+ (is_fortran, dbxout_common_name, dbxout_common_check): New functions.
+ (dbxout_symbol_location): Transform N_LCSYM to N_GSYM for storage
+ in common.
+ (dbxout_syms): Check for COMMON-based symbol and wrap in
+ N_BCOMM/N_ECOMM stab bracket, including as many symbols as possible
+ in bracket for efficiency.
+
+ * dwarf2out.c: Emit DWARF debug info for Fortran COMMON block
+ using DW_TAG_common_block + member offset.
+ (add_pubname_string): New function.
+ (dw_expand_expr): New function to find block name and offset for
+ COMMON var.
+ (common_check): New function to check whether symbol in Fortran COMMON.
+ (gen_variable_die): If COMMON, use DW_TAG_common_block.
+
+ * testsuite/gcc.dg/debug/pr35154.c: New test to check that non-Fortran
+ use of common is unchanged.
+
+ * testsuite/lib/gfortran-dg.exp: New harness to compile Fortran progs
+ with all combinations of debug options available on target.
+ * testsuite/gfortran.dg/debug/debug.exp: Ditto.
+ * testsuite/gfortran.dg/debug/trivial.f: Ditto.
+ * testsuite/gfortran.dg/debug/pr35154-stabs.f: New test case for
+ .stabs functionality.
+ * testsuite/gfortran.dg/debug/pr35154-dwarf2.f: New test case for
+ DWARF functionality.
+
+2008-04-01 Volker Reichelt <v.reichelt@netcologne.de>
+
+ PR c/35436
+ * c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
+
+2008-04-02 Ben Elliston <bje@au.ibm.com>
+
+ * config/v850/v850.md (casesi): Remove if (0) code.
+ * config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ * config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
+
+2008-04-01 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (rex64suffix): New mode attribute.
+ (floathi<mode>2): Disable expander for SSE math.
+ (*floathi<mode>2_1): New insn insn_and_split pattern.
+ (*floathi<mode>2_i387_with_temp): New macroized instruction pattern and
+ corresponding post-reload splitters.
+ (*floathi<mode>2_i387): New macroized insn pattern.
+ (float<SSEMODEI24:mode><X87MODEF:mode>2): New macroized expander.
+ (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): New macroized
+ insn_and_split pattern.
+ (*floatsi<mode>2_vector_mixed_with_temp, *floatsi<mode>2_vector_mixed):
+ New macroized instruction patterns and corresponding post-reload
+ splitters.
+ (*floatsi<mode>2_mixed_with_temp): New macroized instruction pattern
+ and corresponding post-reload splitters.
+ (*floatsi<mode>2_mixed_interunit, *floatsi<mode>2_mixed_nointerunit):
+ New macroized instruction patterns.
+ (*floatsi<mode>2_vector_sse_with_temp, *floatsi<mode>2_vector_sse): New
+ macroized instruction patterns and corresponding post-reload splitters.
+ (*floatsi<mode>2_sse_with_temp): New macroized instruction pattern and
+ corresponding post-reload splitters.
+ (*floatsi<mode>2_sse_interunit, *floatsi<mode>2_mixed_nointerunit):
+ New macroized instruction patterns.
+ (*floatsi<mode>2_i387_with_temp): New macroized instruction pattern and
+ corresponding post-reload splitters.
+ (*floatsi<mode>2_i387): New macroized instruction patterns.
+
+2008-04-01 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386.md (smaxmin): New.
+ (umaxmin): Likewise.
+ (maxminiprefix): Likewise.
+ (maxminfprefix): Likewise.
+ (<code><mode>3): Likewise.
+ (smin<mode>3): Removed.
+ (smax<mode>3): Likewise.
+
+ * config/i386/mmx.md (mmx_<code>v2sf3): New.
+ (mmx_<code>v4hi3): Likewise.
+ (mmx_<code>v8qi3): Likewise.
+ (mmx_smaxv2sf3): Removed.
+ (mmx_sminv2sf3): Likewise.
+ (mmx_umaxv8qi3): Likewise.
+ (mmx_smaxv4hi3): Likewise.
+ (mmx_uminv8qi3): Likewise.
+ (mmx_sminv4hi3): Likewise.
+
+ * config/i386/sse.md (<addsub><mode>3): New.
+ (*<addsub><mode>3): Likewise.
+ (<sse>_vm<addsub><mode>3): Likewise.
+ (<maxmin><mode>3): Likewise.
+ (*<maxmin><mode>3_finite): Likewise.
+ (*<maxmin><mode>3): Likewise.
+ (<sse>_vm<maxmin><mode>3): Likewise.
+ (sse3_h<addsub>v4sf3): Likewise.
+ (sse3_h<addsub>v2df3): Likewise.
+ (<maxmin>v16qi3): Likewise.
+ (*<maxmin>v16qi3): Likewise.
+ (<maxmin>v8hi3): Likewise.
+ (*<maxmin>v8hi3): Likewise.
+ (*sse4_1_<maxmin><mode>3): Likewise.
+ (*sse4_1_<maxmin><mode>3): Likewise.
+ (add<mode>3): Removed.
+ (*add<mode>3): Likewise.
+ (<sse>_vmadd<mode>3): Likewise.
+ (sub<mode>3): Likewise.
+ (*sub<mode>3): Likewise.
+ (<sse>_vmsub<mode>3): Likewise.
+ (smin<mode>3): Likewise.
+ (*smin<mode>3_finite): Likewise.
+ (*smin<mode>3): Likewise.
+ (<sse>_vmsmin<mode>3): Likewise.
+ (smax<mode>3): Likewise.
+ (*smax<mode>3_finite): Likewise.
+ (*smax<mode>3): Likewise.
+ (<sse>_vmsmax<mode>3): Likewise.
+ (sse3_haddv4sf3): Likewise.
+ (sse3_haddv2df3): Likewise.
+ (sse3_hsubv4sf3): Likewise.
+ (sse3_hsubv2df3): Likewise.
+ (umaxv16qi3): Likewise.
+ (*umaxv16qi3): Likewise.
+ (smaxv8hi3): Likewise.
+ (*smaxv8hi3): Likewise.
+ (*sse4_1_smax<mode>3): Likewise.
+ (*sse4_1_umax<mode>3): Likewise.
+ (uminv16qi3): Likewise.
+ (*uminv16qi3): Likewise.
+ (sminv8hi3): Likewise.
+ (*sminv8hi3): Likewise.
+ (*sse4_1_smin<mode>3): Likewise.
+ (*sse4_1_umin<mode>3): Likewise.
+
+2008-04-01 Rafael Espindola <espindola@google.com>
+
+ * tree-cfg.c (verify_expr): remove in_phi.
+ (verify_stmt): Don't call walk_tree with verify_expr. Use
+ is_gimple_min_invariant instead of is_gimple_val.
+
+2008-04-01 Joseph Myers <joseph@codesourcery.com>
+
+ * doc/include/gpl_v3.texi: Update for manpage generation.
+ * doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
+ gpl.texi.
+ * doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
+ * Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
+ gpl_v3.texi instead of gpl.texi.
+ (gpl.pod): New.
+
+2008-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR pch/13675
+ * c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
+
+2008-04-01 Rafael Espindola <espindola@google.com>
+
+ * tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
+ (extract_code_and_val_from_cond): Use
+ extract_code_and_val_from_cond_with_ops.
+
+2008-04-01 Jan Hubicka <jh@suse.cz>
+
+ * function.c (free_after_compilation): Free epilogue_delay_list.
+ (prepare_function_start): Assert that previous compilation was freed.
+
+2008-04-01 Jan Hubicka <jh@suse.cz>
+ Jim Wilson <wilson@tuliptree.org>
+ Andreas Tobler <andreast@gcc.gnu.org>
+
+ PR middle-end/35781
+ * m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use
+ rtl.emit instead cfun->emit.
+ * sparc/sparc.h (INIT_EXPANDERS): Likewise.
+ * ia64/ia64.h (INIT_EXPANDERS): Likewise.
+
+2008-04-01 Ben Elliston <bje@au.ibm.com>
+
+ * doc/c-tree.texi (Function Basics): Fix grammatical error.
+
+2008-03-31 Seongbae Park <seongbae.park@gmail.com>
+
+ * common.opt (fprofile-dir=, fprofile-use=, fprofile-generate=):
+ New options
+ (fprofile-use): Add var flag_profile_use
+ * coverage.c (coverage_begin_output): Do not open a gcno file for
+ output only if -ftest-coverage is set.
+ Do not add getpwd() to gcda file path.
+ (build_gcov_info): Check the new flag
+ flag_profile_datafile_relative_path.
+ (coverage_init): Use profile_data_prefix.
+ Read profile counter only if flag_profile_use is set.
+ * opts.c (common_handle_option): New option fprofile-use=,
+ fprofile-dir=, fprofile-generate=.
+ * toplev.c (profile_data_prefix): New variable definition.
+ * toplev.h (profile_data_prefix): New declaration.
+ * doc/invoke.tex (Option Summary, Optimization Options):
+ Add new options.
+
+2008-03-31 James E. Wilson <wilson@tuliptree.org>
+
+ * varasm.c (output_constant_pool_1): In LABEL_REF check,
+ use tmp consistently.
+
+ PR target/35695
+ * config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
+ * config/ia64/ia64.c (rtx_needs_barrier): Handle
+ UNSPEC_FR_RECIP_APPROX_RES.
+ * config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
+
+2008-03-31 Volker Reichelt <v.reichelt@netcologne.de>
+
+ PR c/35750
+ * c-decl.c (store_parm_decls_oldstyle): Skip invalid parameters.
+
+2008-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
+ PR middle-end/30186
+ * fold-const.c (fold_indirect_ref_1): Support accessing non first
+ element of the vector via a pointer.
+
+2008-03-31 Ian Lance Taylor <iant@google.com>
+
+ * tlink.c (scan_linker_output): Look for symbol name in single quotes.
+
+2008-03-31 Jan Hubicka <jh@suse.cz>
+
+ * builtins.c (expand_builtin_setjmp_receiver): Update call of
+ get_arg_pointer_save_area.
+ * expr.c (init_expr): Just clear out rtl.expr.
+ * function.c (free_after_compilation): Clear out whole RTL structure.
+ (get_func_frame_size): Merge into ...
+ (get_frame_size): ... this one.
+ (assign_stack_local_1): Merge into ...
+ (assign_stack_local): ... this one.
+ (expand_function_end): Update call of get_arg_pointer_save_area.
+ (get_art_pointer_save_area): Remove cfun argument.
+ * function.h (emit_status): regno_pointer_align does not need length
+ attribute. Move x_regno_reg_rtx to ...
+ (regno_reg_rtx): ... new global array.
+ (reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
+ (pending_stack_adjust, inhibit_defer_pop, saveregs_value,
+ apply_args_value, forced_labels, stack_pointer_delta):
+ Update accestors.
+ (struct varasm_status): Move here from varasm.c
+ (struct rtl_data): New. Move here some fields from struct function.
+ (return_label, naked_return_label, stack_slot_list, parm_birth_insn,
+ frame_offset, stack_check_probe_note, arg_pointer_save_area,
+ used_temp_slots avail_temp_slots, temp_slot_level,
+ nonlocal_goto_handler_labels): Update accesstors.
+ (rtl): New global variable.
+ (struct function): Move some fileds to rtl_data.
+ (get_arg_pointer_save_area): Update prototype.
+ * emit-rtl.c (rtl): Declare.
+ (regno_reg_rtx): Declare.
+ (first_insn, last_insn, cur_insn_uid, last_location, first_label_num):
+ Update.
+ (gen_reg_rtx): Update.
+ (init_virtual_regs): Do not tate emit_status argument.
+ (init_emit): Do not allocate emit.
+ * varasm.c (varasm_statuc): Move to function.h.
+ (n_deferred_constatns): Update accestor.
+ (init_varasm_status): Do not allocate varasm_status.
+ (force_const_mem, get_pool_size, output_constant_pool): Update.
+ * stmt.c (force_label_rtx): Do not use x_ prefixes.
+ (expand_nl_goto_receiver): Update get_arg_pointer_save_area.
+
+2008-03-31 Zdenek Dvorak <ook@ucw.cz>
+
+ PR rtl-optimization/35729
+ * loop-invariant.c (check_maybe_invariant): Disallow volatile memory
+ references.
+
+2008-03-31 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/32000
+ * config/i386/i386.md (*movti_internal): Emit unaligned SSE
+ load/store if memory is unaligned.
+ (*movti_rex64): Likewise.
+
+ * config/i386/predicates.md (misaligned_operand): New.
+
+2008-03-31 Andrew Pinski <pinskia@gmail.com>
+
+ PR tree-opt/35431
+ * tree-ssa-phiopt.c (conditional_replacement): Return early for
+ complex types.
+
+2008-03-31 Jan Beulich <jbeulich@novell.com>
+
+ * config/ia64/constraints.md: Add 'j' constraint.
+ * config/ia64/ia64.md (movsi_internal): Add addp4 case.
+ (movdi_internal): Likewise.
+
+2008-03-30 Volker Reichelt <v.reichelt@netcologne.de>
+
+ PR c/35748
+ * c-typeck.c (build_c_cast): Skip invalid fields in unions.
+
+2008-03-30 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/35757
+ * config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
+ proper error message for the third argument on blendpd and
+ blendps.
+
+ * config/i386/sse.md (blendbits): New.
+ (sse4_1_blendp<ssemodesuffixf2c>): Use it.
+
2008-03-30 Eric Botcazou <ebotcazou@adacore.com>
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.