2009-10-29 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/41775
* tree-sra.c (build_ref_for_offset): Unshare *expr if not NULL.
(generate_subtree_copies): Do not unshare agg.
(load_assign_lhs_subreplacements): Do not unshare rhs.
(sra_modify_assign): Do not unshare exprs.
(propagate_subacesses_accross_link): Renamed to
propagate_subaccesses_across_link.
* testsuite/g++.dg/torture/pr41775.C: New testcase.
From-SVN: r153699
* arm.c (count_insns_for_constant): Rework to support counting for
thumb2 immediates as well.
(find_best_start): Split out from arm_gen_constant.
(arm_gen_constant): Rework to support XOR with immediate.
From-SVN: r153698
2009-10-29 Chao-ying Fu <fu@mips.com>
* config/mips/mips.c (mips_emit_unary, mips_force_unary): New
functions.
(mips_expand_synci_loop): Use the length rtx to control the
synci loop from the begin rtx that points to the first byte of
the cache line.
From-SVN: r153696
2009-10-28 Rafael Avila de Espindola <espindola@google.com>
* lto-plugin.c (all_symbols_read_handler): Use LDPL_FATAL instead of
LDPL_ERROR
From-SVN: r153687
2009-10-28 Rafael Avila de Espindola <espindola@google.com>
* trans-common.c (create_common): Set TREE_PUBLIC to false on
fake variables.
2009-10-28 Rafael Avila de Espindola <espindola@google.com>
* dbxout.c (dbxout_common_check): Accept non public trees.
* dwarf2out.c (fortran_common): Accept non public trees.
From-SVN: r153685
PR debug/41801
* builtins.c (get_builtin_sync_mem): Expand loc in ptr_mode,
call convert_memory_address on addr.
* g++.dg/ext/sync-3.C: New test.
From-SVN: r153669
* var-tracking.c (emit_note_insn_var_location): Don't call the second
vt_expand_loc unnecessarily when location is not a register nor
memory.
From-SVN: r153666
2009-10-28 Bob Duff <duff@adacore.com>
* s-fileio.adb: Give more information in exception messages.
2009-10-28 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Document new -gnatyt requirement for space after right
paren if next token starts with digit or letter.
* styleg.adb (Check_Right_Paren): New rule for space after if next
character is a letter or digit.
From-SVN: r153663
2009-10-28 Thomas Quinot <quinot@adacore.com>
* s-crtl.ads (System.CRTL.strerror): New function.
2009-10-28 Ed Schonberg <schonberg@adacore.com>
* sem_type.adb: Add guard to recover some type errors.
From-SVN: r153662
2009-10-28 Vincent Celier <celier@adacore.com>
* prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure
Add_If_Not_In_List to account to the fact that a directory may be
removed from the list. Only remove directory if Removed is True.
2009-10-28 Gary Dismukes <dismukes@adacore.com>
* a-textio.ads, a-textio.ads: Put back function EOF_Char in private
part. Put back body of function EOF_Char.
* a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back
to EOF_Char.
2009-10-28 Emmanuel Briot <briot@adacore.com>
* prj-tree.adb (Free): Fix memory leak.
2009-10-28 Thomas Quinot <quinot@adacore.com>
* s-fileio.adb: Minor reformatting
From-SVN: r153661
2009-10-28 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data_in_type): Do not call get_alias_set.
(free_lang_data): Unconditionally compute alias sets for all
standard integer types. Bail out if gate bailed out previously.
Do not reset the types_compatible_p langhook.
(gate_free_lang_data): Remove.
(struct pass_ipa_free_lang_data): Enable unconditionally.
* gimple.c (gimple_get_alias_set): Use the same alias-set for
all pointer types.
From-SVN: r153659
2009-10-28 Thomas Quinot <quinot@adacore.com>
* exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for
the operand of the unary minus and ABS operators.
* sem_type.adb (Covers): A concurrent type and its corresponding record
type are compatible.
* exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access
attribute reference for the current instance of a protected type while
analyzing an access discriminant constraint in a component definition.
Such a reference is handled in the corresponding record's init proc,
while initializing the constrained component.
* exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the
corresponding record type, propagate components'
Has_Per_Object_Constraint flag.
* exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements):
For a concurrent type, set up concurrent aspects before initializing
components with a per object constrain, because they may be controlled,
and their initialization may call entries or protected subprograms of
the enclosing concurrent object.
2009-10-28 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing
of code.
(Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when
processing the directories specified explicitly in the project file.
From-SVN: r153657
2009-10-28 Robert Dewar <dewar@adacore.com>
* a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb,
a-textio.ads, a-textio.adb: Reorganize (moving specs from private part
to body).
(Initialize_Standard_Files): New procedure.
* a-tienau.adb: Minor change to make EOF directly visible
* a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb,
a-zrstfi.ads, a-tirsfi.adb: New unit, initial version.
* gnat_rm.texi: Add documentation for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files.
* Makefile.rtl: Add entries for
Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files
2009-10-28 Thomas Quinot <quinot@adacore.com>
* exp_ch9.ads: Minor reformatting
* sem_ch3.adb: Minor reformatting
* sem_aggr.adb: Minor reformatting.
* sem_attr.adb: Minor reformatting
* tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node):
New subprogram.
Minor code reorganization/factoring.
From-SVN: r153656
2009-10-28 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/stl_iterator_base_funcs.h: (next): Change
template parameter name consistently with the resolution
of DR 1011 ([Ready] in Santa Cruz).
From-SVN: r153654
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/41812
Revert:
2009-06-27 Paolo Bonzini <bonzini@gnu.org>
* df-problems.c (df_md_scratch): New.
(df_md_alloc, df_md_free): Allocate/free it.
(df_md_local_compute): Only include live registers in init.
(df_md_transfer_function): Prune the in-set computed by
the confluence function, and the gen-set too.
From-SVN: r153652
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/40741
* config/arm/arm.c (thumb1_rtx_costs): IOR or XOR with
a small constant is cheap.
* config/arm/arm.md (andsi3, iorsi3): Try to place the result of
force_reg on the LHS.
(xorsi3): Likewise, and split the XOR if the constant is complex
and not in Thumb mode.
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/40741
* gcc.target/arm/thumb-branch1.c: New.
From-SVN: r153650
2009-10-28 Johannes Singler <singler@kit.edu>
PR libstdc++/40852
* include/parallel/multiseq_selection.h
(multiseq_partition, multiseq_selection): Avoid intermediate
values exceeding the integer type range for very large inputs.
From-SVN: r153648
2009-10-28 Paolo Bonzini <bonzini@gnu.org>
* expmed.c (emit_store_flag): Check costs before
transforming to the opposite representation.
From-SVN: r153647
2009-10-27 Kai Tietz <kai.tietz@onevision.com>
PR/41799
* config/i386/mingw32.h (CHECK_EXECUTE_STACK_ENABLED): New macro.
* config/i386/mingw.opt: Add fset-stack-executable.
* config/i386/i386.c (ix86_trampoline_init): Make call to
emit_library_call conditional, if CHECK_EXECUTE_STACK_ENABLED is
defined and its value is not zero.
* doc/invoke.texi
From-SVN: r153606
2009-10-27 Richard Guenther <rguenther@suse.de>
* tree-ssa-structalias.c (find_func_aliases): In IPA mode
handle calls to externally visible functions like in regular mode.
(create_variable_info_for): Do not create function infos here.
(have_alias_info): Remove write-only variable.
(solve_constraints): New function split out from common code
in compute_points_to_sets and ipa_pta_execute.
(compute_points_to_sets): Adjust.
(ipa_pta_execute): Likewise. Handle clones and externally visible
functions like in non-IPA mode.
* gcc.dg/torture/ipa-pta-1.c: Adjust testcase.
From-SVN: r153600
2009-10-27 Richard Guenther <rguenther@suse.de>
* tree-complex.c (expand_complex_div_wide): Check for
INTEGER_CST, not TREE_CONSTANT on comparison folding result.
From-SVN: r153598