OSDN Git Service

* dwarf2out.c (loc_descr_plus_const): New function.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b454cb6..251d78f 100644 (file)
@@ -1,3 +1,118 @@
+2009-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * dwarf2out.c (loc_descr_plus_const): New function.
+       (build_cfa_aligned_loc, tls_mem_loc_descriptor,
+       mem_loc_descriptor, loc_descriptor_from_tree_1,
+       descr_info_loc, gen_variable_die): Use it.
+
+       * tree.h (DECL_BY_REFERENCE): Note that it is also valid for
+       !TREE_STATIC VAR_DECLs.
+       * dwarf2out.c (loc_by_reference, gen_decl_die): Handle
+       DECL_BY_REFERENCE on !TREE_STATIC VAR_DECLs.
+       (gen_variable_die): Likewise.  Don't look at TREE_PRIVATE if
+       DECL_BY_REFERENCE is valid.
+       * dbxout.c (DECL_ACCESSIBILITY_CHAR): Don't look at TREE_PRIVATE
+       for PARM_DECLs, RESULT_DECLs or !TREE_STATIC VAR_DECLs.
+       * tree-nested.c (get_nonlocal_debug_decl, get_local_debug_decl):
+       Copy DECL_BY_REFERENCE.
+       (struct nesting_copy_body_data): New type.
+       (nesting_copy_decl): New function.
+       (finalize_nesting_tree_1): Remap types of debug_var_chain variables,
+       if they have variable length.
+
+2009-04-26  Michael Matz  <matz@suse.de>
+
+       * tree-sra.c (sra_build_assignment): Don't use into_ssa mode,
+       mark new temporaries for renaming.
+
+2009-04-26  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/39581
+       * c-decl.c (global_bindings_p): Return negative value.
+       (c_variable_size): New.  Based on variable_size from
+       stor-layout.c.
+       (grokdeclarator): Call c_variable_size not variable_size.
+
+2009-04-26  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.c (print_operand) ['z']: Fix typo.
+
+2009-04-26  Kai Tietz  <kai.tietz@onevision.com>
+
+       * config/i386/mingw-w64.h (STANDARD_INCLUDE_DIR):
+       Redefine it to just use mingw/include.
+       (ASM_SPEC): Rules for -m32 and -m64.
+       (LINK_SPEC): Use Likewise.
+       (SPEC_32): New define.
+       (SPEC_64): Likewise.
+       (SUB_LINK_SPEC): Likewise.
+       (MULTILIB_DEFAULTS): New define.
+       * config/i386/t-mingw-w64 (MULTILIB_OPTIONS):
+       Add multilib options.
+       (MULTILIB_DIRNAMES): Likewise.
+       (MULTILIB_OSDIRNAMES): Likewise.
+       (LIBGCC): Likewise.
+       (INSTALL_LIBGCC): Likewise.
+
+2009-04-26  Joseph Myers  <joseph@codesourcery.com>
+
+       PR c/39556
+       * c-tree.h (enum c_inline_static_type): New.
+       (record_inline_static): Declare.
+       * c-decl.c (struct c_inline_static, c_inline_statics,
+       record_inline_static, check_inline_statics): New.
+       (pop_file_scope): Call check_inline_statics.
+       (start_decl): Call record_inline_static instead of pedwarning
+       directly for static in inline function.
+       * c-typeck.c (build_external_ref): Call record_inline_static
+       instead of pedwarning directly for static referenced in inline
+       function.
+
+2009-04-26  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * df-scan.c (df_insn_rescan): Salvage insn's LUID if the insn is
+       not new but only being rescanned.
+       * gcse.c (uid_cuid, max_uid, INSN_CUID, max_cuid, struct reg_set,
+       reg_set_table, REG_SET_TABLE_SLOP, reg_set_in_block,
+       alloc_reg_set_mem, free_reg_set_mem, record_one_set,
+       record_set_info, compute_set, grealloc): Remove.
+       (recompute_all_luids): New function.
+       (gcse_main): Don't compute sets, and don't do related memory
+       allocations/free-ing.  If something changed before the end of the
+       pass, update LUIDs using recompute_all_luids.
+       (alloc_gcse_mem): Don't compute LUIDs.  Don't allocate reg_set memory.
+       (free_gcse_mem): Don't free it either.
+       (oprs_unchanged_p, load_killed_in_block, record_last_reg_set_info):
+       Use the df insn LUIDs.
+       (load_killed_in_block): Likewise.
+       (compute_hash_table_work): Don't compute reg_set_in_block.
+       (compute_transp): Use DF_REG_DEF_CHAINs.
+       (local_cprop_pass): Don't use compute_sets and related functions.
+       (one_cprop_pass, pre_gcse, one_pre_gcse_pass, one_code_hoisting_pass):
+       Use get_max_uid() instead of max_cuid.
+       (insert_insn_end_basic_block, pre_insert_copy_insn,
+       update_ld_motion_stores): Don't try to
+       keep reg_set tables up to date.
+       (pre_insert_copies): Use df insn LUIDs.
+       (sbitmap pre_redundant_insns): Replace with uses of INSN_DELETED_P.
+       (reg_set_info): Don't use extra bitmap argument.
+       (compute_store_table): Don't compute reg_set_in_block.  Use DF scan
+       information to compute regs_set_in_block.
+       (free_store_memory, store_motion): Don't nullify reg_set_in_block.
+       (bypass_jumps): Don't use compute_sets and friends.
+
+2009-04-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR testsuite/39710
+       * opts.c (undocumented_msg): Do not leave blank even with
+       ENABLE_CHECKING.
+
+2009-04-25  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-decl.c (build_enumerator): Allow values folding to integer
+       constants but not integer constant expressions with a pedwarn if
+       pedantic.
+
 2009-04-25  Joseph Myers  <joseph@codesourcery.com>
 
        PR c/39582