OSDN Git Service

* dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 9ca1d95..bbd090c 100644 (file)
@@ -1,3 +1,168 @@
+2011-04-03  Alan Modra  <amodra@gmail.com>
+
+       * dwarf2out.c (mem_loc_descriptor): Recurse on LO_SUM.
+
+2011-04-03  Michael Matz  <matz@suse.de>
+
+       * tree.c (free_lang_data_in_decl): Zero DECL_VINDEX if it's not
+       an integer.
+       * tree.h (tree_decl_non_common.vindex): Adjust comment.
+
+2011-04-03  Michael Matz  <matz@suse.de>
+
+       * cgraphbuild.c (record_reference): Canonicalize constructor
+       values.
+       * gimple-fold.c (canonicalize_constructor_val): Accept being called
+       without function context.
+       * cgraphunit.c (cgraph_finalize_compilation_unit): Clear
+       current_function_decl and cfun.
+
+2011-04-03  Michael Matz  <matz@suse.de>
+
+       * tree.c (decl_init_priority_insert): Don't create entry for
+       default priority.
+       (decl_fini_priority_insert): Ditto.
+       (fields_compatible_p, find_compatible_field): Remove.
+       * tree.h (fields_compatible_p, find_compatible_field): Remove.
+       * gimple.c (gimple_compare_field_offset): Adjust block comment.
+
+2011-04-03  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * combine.c (try_combine): Remove useless local variable.
+
+2011-04-03  Richard Guenther  <rguenther@suse.de>
+           Ira Rosen  <ira.rosen@linaro.org>
+
+       * tree-if-conv.c (memrefs_read_or_written_unconditionally): Strip all
+       non-variable offsets and compare the remaining bases of the two
+       accesses instead of looking for exact same data-ref.
+
+2011-04-02  Kai Tietz  <ktietz@redhat.com>
+
+       PR target/48416
+       * i386.c (ix86_function_arg_boundary): Fix printf formatter.
+
+       * i386.c (ix86_is_msabi_thiscall): New helper function.
+       (ix86_is_type_thiscall): New helper function.
+       (ix86_comp_type_attributes): Handle thiscall for method-functions
+       special.
+       (init_cumulative_args): Likewise.
+       (find_drap_reg): Likewise.
+       (ix86_static_chain): Likewise.
+       (x86_this_parameter): Likewise.
+       (x86_output_mi_thunk): Likewise.
+
+2011-04-01  Olivier Hainque  <hainque@adacore.com>
+           Nicolas Setton  <setton@adacore.com>
+           Eric Botcazou  <ebotcazou@adacore.com>
+
+       * dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
+       (add_gnat_descriptive_type_attribute): New function.
+       (gen_array_type_die): Call it.
+       (gen_enumeration_type_die): Likewise.
+       (gen_struct_or_union_type_die): Likewise.
+       (modified_type_die): Likewise.
+       * langhooks.h (lang_hooks_for_types): New descriptive_type hook.
+       * langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
+
+2011-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/48148
+       * dwarf2out.c (resolve_addr): Don't call force_decl_die
+       if DECL_EXTERNAL has non-NULL DECL_ABSTRACT_ORIGIN.
+
+       Revert:
+       2011-03-17  Richard Guenther  <rguenther@suse.de>
+
+       PR bootstrap/48148
+       * lto-cgraph.c (input_overwrite_node): Clear the abstract
+       origin for decls in other ltrans units.
+       (input_varpool_node): Likewise.
+
+2011-04-01  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/48335
+       * expr.c (expand_assignment): Handle all possibilities
+       if TO_RTX is CONCAT.
+       * expmed.c (store_bit_field_1): Avoid trying to create
+       invalid SUBREGs.
+       (store_split_bit_field): If SUBREG_REG (op0) or
+       op0 itself has smaller mode than word, return it
+       for offset 0 and const0_rtx for out-of-bounds stores.
+       If word is const0_rtx, skip it.
+
+2011-04-01  Naveen H.S  <naveen.S@kpitcummins.com>
+
+       * config/h8300/h8300.c (print_operand_address): Rename to...
+       (h8300_print_operand_address): ...this. Make static. Adjust comments.
+       Call h8300_print_operand and h8300_print_operand_address instead of
+       print_operand and print_operand_address. Declare.
+       (print_operand): Renake to...
+       (h8300_print_operand): ...this. Make static. Adjust comments.
+       Call h8300_print_operand instead of print_operand. Declare.
+       (h8300_print_operand_punct_valid_p): Moved from h8300.h file.
+       (h8300_register_move_cost): Likewise.
+       (TARGET_PRINT_OPERAND_PUNCT_VALID_P, TARGET_PRINT_OPERAND
+       TARGET_PRINT_OPERAND_ADDRESS, TARGET_REGISTER_MOVE_COST): Define.
+       * config/h8300/h8300.h (PRINT_OPERAND_ADDRESS, PRINT_OPERAND
+       PRINT_OPERAND_PUNCT_VALID_P, REGISTER_MOVE_COST): Delete.
+       * config/h8300/h8300-protos.h (print_operand): Delete.
+       (print_operand_address): Delete.
+
+2011-04-01  Richard Henderson  <rth@redhat.com>
+
+       PR 48400
+       * dwarf2out.c (dwarf2out_source_line): Disable discriminators
+       in strict mode before dwarf4.  Re-order tests to early out
+       before switching sections.
+
+2011-04-01  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * config/h8300/constraints.md: New file.
+       * config/h8300/h8300.md: Include it.  Use satisfies_constraint_J,
+       satisfies_constraint_L, and satisfies_constraint_N for peephole2s.
+       (*tst_extzv_1_n, *tstsi_variable_bit_qi): Use satisfies_constraint_U.
+       * config/h8300/predicates.md (bit_operand): Likewise.
+       (incdec_operand): Use satisfies_constraint_M and
+       satisfies_constraint_O.  Don't use C code block.
+       * config/h8300/h8300-protos.h (h8300_reg_class_from_letter): Delete.
+       * config/h8300/h8300.c (h8300_reg_class_from_letter): Delete.
+       (compute_mov_length): Use satisfies_constraint_G.
+       (fix_bit_operand): Use satisfies_constraint_U.
+       * config/h8300/h8300.h (REG_CLASS_FROM_LETTER): Delete.
+       (CONST_OK_FOR_I, CONST_OK_FOR_J, CONST_OK_FOR_L): Delete.
+       (CONST_OK_FOR_M, CONST_OK_FOR_N, CONST_OK_FOR_O): Delete.
+       (CONST_OK_FOR_Ppositive, CONST_OK_FOR_Pnegative): Delete.
+       (CONST_OK_FOR_P, CONSTRAINT_LEN_FOR_P): Delete.
+       (CONST_OK_FOR_CONSTRAINT_P, CONST_OK_FOR_LETTER_P): Delete.
+       (CONST_DOUBLE_OK_FOR_LETTER_P): Delete.
+       (OK_FOR_Q, OK_FOR_R, OK_FOR_S, OK_FOR_T, OK_FOR_U, OK_FOR_WU): Delete.
+       (OK_FOR_W, CONSTRAINT_LEN_FOR_W, OK_FOR_Y2, OK_FOR_Y0): Delete.
+       (OK_FOR_Y, CONSTRAINT_LEN_FOR_Y, OK_FOR_Z): Delete.
+       (EXTRA_CONSTRAINT_STR, CONSTRAINT_LEN): Delete.
+       (EXTRA_MEMORY_CONSTRAINT): Delete.
+
+2011-04-01  Andrew Pinski  <pinskia@gmail.com>
+           Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR target/48262
+       * config/rs6000/vector.md (movmisalign<mode>): Allow for memory
+       operands, as per the specifications.
+
+       * config/rs6000/altivec.md (vec_extract_evenv4si): Correct modes.
+       (vec_extract_evenv4sf): Ditto.
+       (vec_extract_evenv8hi): Ditto.
+       (vec_extract_evenv16qi): Ditto.
+       (vec_extract_oddv4si): Ditto.
+
+2011-03-31  Mark Wielaard  <mjw@redhat.com>
+
+       * dwarf2out.c (dwarf2out_finish): Don't add low_pc and/or
+       high_pc attribute if the CU has no associated code. Only output
+       DW_AT_entry_pc for CU if not generating strict dwarf and
+       dwarf_version < 4.
+
 2011-04-01  Bernd Schmidt  <bernds@codesourcery.com>
 
        * dwarf2out.h (dwarf2out_frame_debug_init): Declare.