OSDN Git Service

2006-07-23 Steven Bosscher <steven@gcc.gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 4814be3..d52141a 100644 (file)
@@ -1,3 +1,616 @@
+2006-07-23  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR debug/25468
+       * config/elfos.h (ASM_OUTPUT_ASCII): Remove 'register' marks.
+       Cache the last found '\0' marker to avoid quadratic behavior.
+
+2006-07-23  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (subsi_3_zext): Fix output template.
+
+2006-07-21  Mike Stump  <mrs@apple.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Note that
+       -fvisibility-inlines-hidden doesn't affect explicitly
+       instantiationed inline methods.
+
+2006-07-20  Roger Sayle  <roger@eyesopen.com>
+
+       * config.gcc (i[34567]86-*-solaris2*): Add usegas.h to $tm_file
+       if the target assembler is GNU binutils' gas.
+       * config/i386/sol2-10.h (ASM_SPEC): Check USE_GAS to determine
+       whether to pass GNU gas or native as command line options.
+
+2006-07-20  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (remove_attribute): New fn.
+       * tree.h: Declare it.
+
+2006-07-20  Paul Brook  <paul@codesourcery.com>
+
+       PR 27363
+       * cse.c (cse_insn): Add destination addresses to hash table. Check if
+       they are invalidated by this instruction.
+
+2006-07-21  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       PR target/28427
+        * config/i386/cygming.h (MAX_OFILE_ALIGNMENT): Define.
+
+2006-07-20  Eric Christopher  <echristo@apple.com>
+
+       PR target/26877
+       * config/i386/i386.h (OPTION_DEFAULT_SPECS): Reorder.
+
+2006-07-19  Eric Christopher  <echristo@apple.com>
+
+       * config/t-slibgcc-darwin (stmp-lipo): Remove.
+       Rewrite dependencies for libgcc_s.1.dylib.
+
+2006-07-19  Jakub Jelinek  <jakub@redhat.com>
+
+       * except.c (duplicate_eh_regions_1): Clear next_peer.
+
+2006-07-17  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * doc/invoke.texi (RS/6000 and PowerPC Options): Document that
+       -mlongcall does not guarantee all calls will be long.
+       * doc/extend.texi (long_call/short_call): Document that longcall
+       does not guarantee a long call will be used.
+       (longcall/shortcall): Likewise.
+
+2006-07-18  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/28283
+       * expmed.c (expand_shift): Additionally check that the shift_cost
+       is not MAX_COST and that INTVAL(op1) is less than MAX_BITS_PER_WORD
+       before implementing a LSHIFT_EXPR as a sequence of additions.
+       * config/sh/sh.c (shift_costs): Return MAX_COST to inform the
+       middle-end that DImode shifts need to be synthesized by expand.
+
+2006-07-18  Diego Novillo  <dnovillo@redhat.com>
+
+       PR 28410
+       * tree-ssa-operands.c (access_can_touch_variable): Update
+       comment.
+       Return true if ALIAS is .GLOBAL_VAR.
+
+2006-07-18  David Daney  <ddaney@avtrex.com>
+
+       * gcc.c (display_help): Fix typo in help text.
+
+2006-07-18  Olivier Hainque  <hainque@adacore.com>
+
+       * tree.h (categorize_ctor_elements): Adjust prototype and add
+       descriptive comment, both in accordance with the interface change
+       described below.
+       * varasm.c (constructor_static_from_elts_p): New function.
+       Whether a constructor node is a valid static constant initializer
+       if all its elements are.
+       (initializer_constant_valid_p) <CONSTRUCTOR value>: Use it.
+       * output.h: Declare it.
+       * expr.c (categorize_ctor_elements_1): Return whether the constructor
+       is a valid constant initializer instead of computing the number of
+       non-constant elements.  Use constructor_static_from_elts_p for this
+       purpose.  Replace the head comment with an indication that this is a
+       helper for categorize_ctor_elements.
+       (categorize_ctor_elements): Same interface change as for the _1
+       helper.  Former head comment from this helper moved here, adjusted to
+       account for the interface changes.
+       (mostly_zeros_p): Adjust call to categorize_ctor_elements.
+       (all_zeros_p): Likewise.
+       * gimplify.c (gimplify_init_constructor): Decide whether we can make
+       static versions of the constructor from the categorize_ctor_elements
+       return value instead of the formerly computed number of non-constant
+       elements.
+
+2006-07-18  Paolo Bonzini  <bonzini@gnu.org>
+
+        * configure: Regenerate.
+        * Makefile.in (build_libsubdir): New configure substitution
+        (build_libobjdir): New variable.
+        (BUILD_LIBIBERTY): Use it.
+
+2006-07-18  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+
+       PR c/28286
+       * c-pragma.c (handle_pragma_pack): Handle invalid constants.
+
+2006-07-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c/26993
+       * c-common.c (handle_weakref_attribute): Ignore attribute in
+       the same conditions the alias attribute is ignored.
+
+2006-07-17  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * dbxout.c (dbxout_function_end): Do not increment scope_labelno.
+       (dbxout_begin_prologue): Increment scope_labelno.
+
+2006-07-17  Richard Henderson  <rth@redhat.com>
+
+       PR 27889
+       * tree-nested.c (create_tmp_var_for): Set DECL_COMPLEX_GIMPLE_REG_P
+       if needed.
+
+2006-07-17  Roger Sayle  <roger@eyesopen.com>
+           Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/i386/gmon-sol2.c: Silence compilation warnings by partially
+       synchronizing code with config/sparc/gmon-sol2.c.  Remove #if 0
+       blocks.  #include "tconfig.h" and "tsystem.h" to prototype system
+       functions such as sbrk, write, etc..  Add function prototypes.
+       Convert function declarations from K&R to ISO C.  Cast pointers
+       to "long" and "unsigned long" instead of "int" and "unsigned int".
+       Convert tokens following #endif into comments.
+
+2006-07-17  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * invoke.texi: Remove mention of f77; Reformat table for
+       inline parameter options correctly; mention that -malign-double
+       is default on x86-64 targets.
+
+2006-07-17  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-chrec.c (avoid_arithmetics_in_type_p): New.
+       (convert_affine_scev, chrec_convert_aggressive): Use
+       avoid_arithmetics_in_type_p.  Do not check for the subtypes
+       separately.
+
+2006-07-17  Richard Sandiford  <richard@codesourcery.com>
+
+       PR middle-end/28403
+       * optabs.c (expand_doubleword_shift): Wrap the call to
+       do_compare_rtx_and_jump with NO_DEFER_POP and OK_DEFER_POP.
+
+2006-07-17  Richard Sandiford  <richard@codesourcery.com>
+
+       PR middle-end/28402
+       * optabs.c (expand_binop): Pass next_methods rather than methods
+       to expand_doubleword_shift.
+
+2006-07-17  J"orn Rennecke  <joern.rennecke@st.com>
+
+       PR other/28251
+       * tree.h (dump_addr): Declare.
+       * print-tree.c (dump_addr): New function.
+       (print_node_brief, print_node): Use it.
+       * print-rtl.c (print_rtx): Likewise.
+       * common.opt (-fdump-noaddr): New option.
+       * doc/invoke.texi (-fdump-noaddr): Document.
+       * loop-unroll.c (si_info_hash): Make hash independent of addresses.
+       (ve_info_hash): Likewise.
+
+2006-07-13  Andrew Haley  <aph@redhat.com>
+
+       PR tree-optimization/19505
+       * tree-cfgcleanup.c (tree_forwarder_block_p): If we have an EH
+       edge leaving this block, make sure that the destination of this
+       block has only one predecessor.
+
+2006-07-17  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28238
+       * tree-inline.c (copy_bb): Check if we produced valid
+       gimple copying and substituting a stmt.  If not, gimplify
+       it.
+
+2006-07-16  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * optabs.c (maybe_encapsulate_block): New function extracted from...
+       (emit_libcall_block): ...here.  Invoke it on the block of insns to
+       maybe emit REG_LIBCALL/REG_RETVAL notes around the block.
+       (emit_no_conflict_block): Likewise.
+
+2006-07-16  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * doc/install.texi (sparc-sun-solaris2*): Add GMP version number.
+
+2006-07-15  Roger Sayle  <roger@eyesopen.com>
+
+       * tree-gimple.c (is_gimple_stmt): Sink test of IS_EMPTY_STMT into
+       a new NOP_EXPR case of the switch statement.
+
+2006-07-15  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       PR middle-end/28160
+       * stor-layout.c (place_field): Take the bit field with
+       an excessive size into account in the ms-bitfiled case.
+
+       PR middle-end/28161
+       * stor-layout.c (place_field): Use DECL_BIT_FIELD_TYPE of
+       the previous bit field.
+
+2006-07-14  Eliot Dresselhaus  <eliot@sonic.net>
+
+       PR target/27287
+       * config/rs6000/spe.md (frob_di_df_2): Add m->r alternative.
+
+2006-07-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/linux-unwind.h (s390_fallback_frame_state): Detect
+       signal frames correctly even when the signal was installed with
+       sa_restorer set.
+
+2006-07-14  Carlos O'Donell  <carlos@codesourcery.com>
+
+       * dbxout.c (dbxout_begin_prologue): Emit LFBB label at function start.
+       (dbxout_function_end): Use local label LFBB. Remove hook
+       DBX_OUTPUT_NFUN.
+       (dbxout_source_line): Use local label LFBB.
+       (dbxout_block): Likewise.
+       (dbx_output_lbrac): Remove hook DBX_OUTPUT_LBRAC.
+       (dbx_output_rbrac): Remove hook DBX_OUTPUT_RBRAC.
+       * config/rs6000/linux64.h: Remove DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC,
+       and DBX_OUTPUT_NFUN.
+
+2006-07-13  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/sourcebuild.texi (Test Directives): Document dg-shouldfail.
+
+2006-07-13  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_varpool_analyze_pending_decls): Call
+       align_variable.
+       * output.h (align_variable): Declare.
+       * varasm.c (align_variable): Export.
+       * value-prof.c (tree_value_profile_transformations): Recompute iterator
+       when basic block changed.
+
+2006-07-13  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/sh.c (sh_reorg): Ignore deleted insns whilst
+       walking the LOG_LINKS chain.
+
+2006-07-12  Geoffrey Keating  <geoffk@apple.com>
+
+       * doc/invoke.texi (C++ Dialect Options): Explain difference
+       between -fvisibility-inlines-hidden and setting hidden
+       visibility explicitly.
+
+2006-07-12  Eric Christopher  <echristo@apple.com>
+
+       * config/t-slibgcc-darwin (SHLIB_LINK): Don't munge stmp-lipo.
+       (stmp-lipo): Depend on libgcc.a.
+
+2006-07-12  Kazu Hirata  <kazu@codesourcery.com>
+
+       * tree.c: Fix a comment typo.
+
+2006-07-12  Naveen.H.S  <naveenh@kpitcummins.com>
+
+       * config/m32c/muldiv.md (umulhisi3_c): Use only registers for
+       dest.
+       (umulhisi3_r): Likewise.
+
+2006-07-12  Paolo Carlini  <pcarlini@suse.de>
+
+       PR libstdc++/27878
+       * doc/install.texi (mips-sgi-irix6): Add note about IRIX 6.5.x,
+       x < 19, vs wchar_t support.
+
+2006-07-12  Nick Clifton  <nickc@redhat.com>
+
+       * config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Use -isa=sh4-up
+       instead of -isa=sh4.
+
+2006-07-12  Mike Stump  <mrs@apple.com>
+
+       * protoize.c (edit_fn_definition): Add volatile to clean_text_p.
+
+2006-07-10  Eric Christopher  <echristo@apple.com>
+
+       * config/t-slibgcc-darwin: Rewrite.
+
+2006-07-10  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
+
+       PR bootstrap/20437
+       * Makefile.in (configure): add missing aclocal.m4 and acinclude.m4
+       dependencies.
+
+2006-07-08  Matthias Klose  <doko@debian.org>
+
+       * doc/sourcebuild.texi: Fix typo.
+
+2006-07-07  Mike Stump  <mrs@apple.com>
+
+       * toplev.c (process_options): Don't give -ffunction-sections may
+       affect debugging warning for Mach-O.
+
+2006-07-07  James E Wilson  <wilson@specifix.com>
+
+       * config/mips/mips.md (cpu): Add sb1a.
+       * config/mips/sb1.md: Modify almost all patterns to accept sb1a in
+       addition to sb1.  Adjust comments to clarify SB-1A differences from
+       SB-1.
+       (ir_sb1a_load): New.  Modify bypasses to use it.
+       (ir_sb1a_simple_alu): Likewise.
+       * config/mips/mips.c (mips_cpu_info_table): Add sb1a.
+       (mips_rtx_cost_data): Add PROCESSOR_SB1A support.
+       (mips_issue_rate): Add PROCESSOR_SB1A.
+       (mips_multipass_dfa_lookahead): Use TUNE_SB1 instead of PROCESSOR_SB1.
+       * config/mips/mips.h (processor_type): Add PROCESSOR_SB1A.
+       (TARGET_SB1): Add PROCESSOR_SB1A check.
+       (TUNE_SB1): Likewise.
+
+       * config/mips/mips-protos.h (mips_store_data_bypass_p): New.
+       * config/mips/mips.c (mips_store_data_bypass_p): New.
+       * config/mips/sb1.md: Use mips_store_data_bypass_p instead of
+       store_data_bypass_p.
+
+2006-07-08  Paul Brook  <paul@codesourcery.com>
+
+       PR target/27991
+       * config/m68k/m68k.md: Add r-m patterns for 68881 movxf.
+
+2006-07-07   Richard Guenther  <rguenther@suse.de>
+
+       PR middle-end/28268
+       * tree.h (build_one_cst): Declare.
+       * tree.c (build_one_cst): New function.
+       * tree-ssa-math-opts.c (get_constant_one): Remove.
+       (insert_reciprocals): Use build_one_cst.
+       * fold-const.c (fold_plusminus_mult): Likewise.
+
+2006-07-07  Roger Sayle  <roger@eyesopen.com>
+
+       * pointer-set.c (pointer_set_destroy): Correct whitespace.
+       * cfgloopanal.c (dump_graph): Likewise.
+       * dojump.c (discard_pending_stack_adjust): Likewise.
+       * fix-header.c (TARGET_EXTRA_INCLUDE, TARGET_EXTRA_PRE_INCLUDES):
+       Likewise.
+       * alloc-pool.c (dump_alloc_pool_statistics): Likewise.
+       * function.c (finalize_block_changes): Likewise.
+       * gcc-common.c (ggc_free_overhead, dump_gcc_loc_statistics): Likewise.
+       * tree-ssa-dce.c (clear_control_dependence_bitmap): Likewise.
+       * rtl.c (dump_rtx_statistics): Likewise.
+       * tree-ssa-structalias.c (sort_fieldstack, init_alias_heapvars):
+       Likewise.
+       * varray.c (dump_varray_statistics): Likewise.
+       * dfp.c (encode_decimal32, decode_decimal32, encode_decimal64,
+       decode_decimal64, encode_decimal128, decode_decimal128,
+       decimal_real_to_decimal): Likewise.
+
+2006-07-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28187
+       * tree-vrp.c (vrp_operand_equal_p): New function.
+       (vrp_bitmap_equal_p): Likewise.
+       (update_value_range): Use them to compare old and new
+       max and min values.
+
+2006-07-06  Roger Sayle  <roger@eyesopen.com>
+
+       * c-parser.c (c_parser_skip_to_end_of_block_or_statement): Add
+       a default case to switch statement to silence compiler warnings.
+
+2006-07-06  Roger Sayle  <roger@eyesopen.com>
+
+       PR target/27968
+       * configure.ac (HAVE_AS_IX86_FFREEP): On x86 targets check whether
+       the configured assembler supports the x87's ffreep mnemonic.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * config/i386/i386.c (output_387_ffreep): New function.
+       (output_fp_compare): Use output_387_ffreep to emit ffreep insns.
+       (output_387_reg_move): Likewise.
+
+2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Port to hosts whose 'sort' and 'tail' implementations
+       treat operands with leading '+' as file names, as POSIX
+       has required since 2001.  However, make sure the code still
+       works on pre-POSIX hosts.
+       * Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
+       which says you should use "tail -c +N" rather than "tail +Nc".
+       Fix a bug: the old code incorrectly skipped 15 bytes, not 16.
+
+2006-07-06  Zdenek Dvorak <dvorakz@suse.cz>
+
+       * tree-ssa-loop-niter.c (scev_probably_wraps_p): Fix typo in
+       argument name.
+
+2006-07-06  David Edelsohn  <edelsohn@gnu.org>
+
+       PR target/28150
+       * config/rs6000/rs6000.c (rs6000_legitimate_address): Do not allow
+       PRE_{INC,DEC} of TFmode.
+
+2006-07-06  David Edelsohn  <edelsohn@gnu.org>
+           Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/28170
+       * config/rs6000/rs6000.c (insvdi_rshift_rlwimi_p): Correct shiftop
+       bounds. Simplify.
+
+2006-07-06  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       PR target/28285
+       * config/alpha/predicates.md (alpha_swapped_comparison_operator):
+       Remove duplicate gtu.
+
+2006-07-05  Jason Merrill  <jason@redhat.com>
+
+       PR c++/13983
+       PR c++/17519
+       * stor-layout.c (finish_record_layout): Copy TYPE_PACKED to variants.
+       * c-common.c (handle_packed_attribute): So don't copy it here.
+       * c-decl.c (finish_struct): Don't copy TYPE_ALIGN.
+
+2006-07-05  Mike Stump  <mrs@apple.com>
+
+       * doc/invoke.texi (Invoking G++): Clarify prose for g++.
+
+2006-07-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR target/26146
+       * config.gcc: Check with_cpu for i[34567]86--*-solaris2.1[0-9]*.
+
+2006-07-05  Richard Guenther  <rguenther@suse.de>
+
+       PR target/28158
+       * config/i386/i386.md (*negdf2_1): Restrict pattern to
+       TARGET_SSE2 targets if using SSE math.
+       (*absdf2_1): Likewise.
+
+2006-07-05  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/28162
+       * fold-const.c (fold_binary): For (-A) * (-B) -> A * B
+       make sure to convert the operands to the correct type.
+
+2006-07-04  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR tree-optimization/28218
+
+       * tree-ssa-math-opts.c (execute_cse_reciprocals): Fix calls
+       to calculate and free the dominator information.
+
+2006-07-04  Peter O'Gorman  <peter@pogma.com>
+
+       * mklibgcc.in: chmod 644 before ranlib during install.
+
+2006-07-04  Andrew Stubbs <andrew.stubbs@st.com>
+           J"orn Rennecke <joern.rennecke@st.com>
+
+       * configure.ac (.eh_frame data check): Use diff -b.
+
+2006-07-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR bootstrap/18058
+       * Makefile.in (BUILD_RTL): Add build/vec.o.
+       (build/gencondmd.o): Filter out -fkeep-inline-functions.
+       (build/genextract): Delete.
+       (build/genautomata): Likewise.
+
+2006-07-04  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/28207
+       * config/rs6000/rs6000.c (function_arg_boundary): Double-word align
+       128-bit IBM long doubles for ABI_V4.
+
+2006-07-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * tree.c (range_in_array_bounds_p): New predicate.
+       * tree.h (range_in_array_bounds_p): Declare it.
+       * tree-eh.c (tree_could_trap_p) <ARRAY_RANGE_REF>: Use it to
+       return a less conservative answer.
+       * tree-sra.c (struct sra_elt): Add new pointer field 'groups'
+       and flag 'is_group'.
+       (IS_ELEMENT_FOR_GROUP): New macro.
+       (FOR_EACH_ACTUAL_CHILD): Likewise.
+       (next_child_for_group): New helper function.
+       (can_completely_scalarize_p): Take into account groups.
+       (sra_hash_tree): Handle RANGE_EXPR.
+       (sra_elt_eq): Likewise.
+       (lookup_element): Be prepared for handling groups.
+       (is_valid_const_index): Delete.
+       (maybe_lookup_element_for_expr) <ARRAY_REF>: Use in_array_bounds_p
+       instead of is_valid_const_index.
+       <ARRAY_RANGE_REF>: New case.
+       (sra_walk_expr) <ARRAY_REF>: Use in_array_bounds_p instead of
+       is_valid_const_index.
+       <ARRAY_RANGE_REF>: Do not unconditionally punt.
+       (scan_dump): Dump info for groups too.
+       (decide_instantiation_1): Likewise.
+       (decide_block_copy): Assert that the element is not a group.
+       Propagate decision to groups.
+       (generate_one_element_ref): Handle RANGE_EXPR.
+       (mark_no_warning): Iterate over actual childs.
+       (generate_copy_inout): Likewise.
+       (generate_element_copy): Likewise.
+       (generate_element_zero): Likewise.
+       (generate_element_init_1): Likewise.
+       (dump_sra_elt_name): Handle RANGE_EXPR.
+
+2006-07-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR tree-optimization/26251
+       * tree-ssa-threadupdate.c (redirection_block_p): New function.
+       (thread_block): When optimizing for size refuse to thread jumps
+       that would require duplication of blocks other than redirection
+       blocks.
+
+2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
+
+       * configure.ac: Fix thinko in previous check-in.
+       * configure: Regenerate.
+
+2006-07-03  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR other/27063
+       * configure.ac (for lang...): Simplify nesting of conditionals.
+       Test subdir_requires for non-enabled languages.  Move processing
+       of lang_opt_files and lang_tree_fiels below that test.
+       * configure: Regenerate.
+       * doc/sourcebuild.texi (Front End Config): Document subdir_requires.
+
+2006-07-01  Martin Michlmayr  <tbm@cyrius.com>
+
+       * doc/gcov.texi (Invoking Gcov): Add a missing word.
+
+2006-06-30  Kazu Hirata  <kazu@codesourcery.com>
+
+       * cfgexpand.c, config/i386/i386.c, genpreds.c, tree-cfg.c: Fix
+       comment typos.
+
+2006-06-29  Jason Merrill  <jason@redhat.com>
+
+       PR c++/26905
+       PR c++/26612
+       PR c++/27000
+       PR c++/26984
+       PR c++/19134
+       * tree.c (build_decl_stat): Don't hande #pragma visibility here.
+       * c-common.c (c_determine_visibility): Handle it here.
+       * c-decl.c (finish_decl): Call c_determine_visibility for
+       functions, too.
+       * flags.h (enum symbol_visibility): Sort from most to least visibility.
+       * tree.h: Likewise.
+       * varasm.c (default_assemble_visibility): Likewise.
+       * c-common.c (handle_visibility_attribute): Complain about trying
+       to give visibility to an already defined class, or trying to change
+       declared visibility. Always attach the attribute.
+
+       PR c++/26905
+       PR c++/21675
+       PR c++/17470
+       * attribs.c (decl_attributes): Ignore type-in-place attributes
+       once the type has been defined.
+
+2006-06-29  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/27428
+       * c-lex.c (c_lex_with_flags) <CPP_N_INVALID>: Increment errorcount
+       to indicate the cpplib has issued an error message for us.
+
+2006-06-29  Asher Langton  <langton2@llnl.gov>
+
+       PR target/25765
+       * config/i386/i386.c (ix86_output_function_epilogue): Don't
+       insert a label at the end of an function under Mach-O.
+
+2006-06-29  Eric Christopher  <echristo@apple.com>
+           Evan Cheng  <evan.cheng@apple.com>
+
+       * predicates.md (vector_all_ones_operand): New.
+       (nonimmediate_or_sse_const_operand): Ditto.
+       * config/i386/i386-protos.h (standard_sse_constant_opcode): Declare.
+       * config/i386/i386.c (standard_sse_constant_opcode): Define.
+       (standard_sse_mode_p): Ditto.
+       (standard_sse_constant_p): Add case for -1 vector.
+       (ix86_expand_vector_move): Try to use.
+       * sse.md (*mov<mode>_internal): Use nonimmediate_or_sse_const_operand.
+       Call standard_sse_constant_opcode.
+       (*movv4sf_internal): Ditto.
+       (*movv2df_internal): Ditto.
+
+2006-06-29  Roger Sayle  <roger@eyesopen.com>
+
+       * genpreds.c (write_match_code_switch): Correctly use XSTR instead
+       of XEXP to extract the operands of a MATCH_CODE rtx.
+
 2006-06-28  Andrew Pinski  <pinskia@gmail.com>
 
        * tree.c (tree_size): Do not waste tail padding in
        * config/m32c/mov.md (SI mov peephole): New.
        * config/m32c/m32.c (m32c_immd_dbl_mov): New.
        * config/m32c/m32c-protos.h (m32c_immd_dbl_mov): New.
-       
+
 2006-06-26  Olivier Hainque  <hainque@adacore.com>
 
        * function.c (aggregate_value_p): Honor DECL_BY_REFERENCE on
        function.
        * alloc-pool.c (free_alloc_pool_if_empty): New function.
        * et-forest.h (et_free_pools): Prototype new function.
-       * et-forest.c (et_free_tree_force): Free parent occurrence. 
+       * et-forest.c (et_free_tree_force): Free parent occurrence.
        (et_free_pools): New function.
        * dominance.c (free_dominance_info): Free et-forest alloc
        pools.
        Fix PR tree-optimization/27341
        * tree-cfg.c (gimplify_val): Call mark_new_vars_to_rename on the
        statement we get.
-       * tree-complex.c (pass_lower_complex): Update SMT usage.        
+       * tree-complex.c (pass_lower_complex): Update SMT usage.
 
 2006-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>
 
-       * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"): 
+       * config/s390/s390.md ("doloop_si64", "doloop_si31", "doloop_di"):
        Add a new alternative to the constraint strings. Add move of
        operand 1 to 3 to the splitter definition.
        ("doloop_si_long"): Second contraint alternative removed.
 2006-06-08  Anatoly Sokolov <aesok@post.ru>
 
        * config/avr/avr.h (avr_have_movw_lpmx_p): Declare.
-       (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and 
+       (TARGET_CPU_CPP_BUILTINS): Add __AVR_HAVE_MOVW__ and
        __AVR_HAVE_LPMX__.
        (AVR_HAVE_MOVW) Define.
        (ASSEMBLER_DIALECT): Use AVR_HAVE_MOVW.
        attiny44, attiny84, attiny25, attiny45, attiny85, attiny261,
        attiny461, attiny861 and at86rf401 in 'avr25' arhitecture.
        (avr_override_options): Init 'avr_have_movw_lpmx_p'.
-       (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use 
+       (output_movhi, output_movsisf, ashlsi3_out, avr_rtx_costs): Use
        AVR_HAVE_MOVW.
        (avr_file_start): Do not output '.arh' derective.
        * config/avr/libgcc.S (mov_l): Use __AVR_HAVE_MOVW__.
        (call_insn, call_value_insn): Use 'call_insn' and __AVR_HAVE_MOVW__.
        * config/avr/t-avr(MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add avr25.
        (MULTILIB_MATCHES): Add attiny13, attiny2313, attiny24, attiny44,
-       attiny84, attiny25, attiny45, attiny85, attiny261, attiny461, 
+       attiny84, attiny25, attiny45, attiny85, attiny261, attiny461,
        attiny861 and at86rf401 devices.
 
 2006-06-18  Jie Zhang  <jie.zhang@analog.com>
        bind locally.
 
 2006-06-15  Andrew MacLeod  <amacleod@redhat.com>
-       
+
        PR middle-end/27793
        * tree-dfa.c (referenced_vars_dup_list): Remove.
        (find_referenced_vars): Remove assert.
 
        * Makefile.in: Define HTMLS_BUILD, HTMLS_INSTALL,
        html__strip_dir, html__mkdir_p. Enhance install-html target.
-       * configure.ac: AC_SUBST datarootdir, docdir and htmldir. 
+       * configure.ac: AC_SUBST datarootdir, docdir and htmldir.
        * configure: Regenerate.
 
 2006-06-13  Fariborz Jahanian <fjahanian@apple.com>
 
-       * fold-const.c (fold_cond_expr_with_comparison): Check for 
+       * fold-const.c (fold_cond_expr_with_comparison): Check for
        Objective-C++ as language in deciding COND_EXPR transformation.
 
 2006-06-06  J"orn Rennecke <joern.rennecke@st.com>