2009-10-29 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/40925
* include/bits/stl_pair.h (pair<_T1, _T2>::pair(_U1&&, _U2&&)):
Use enable_if to remove it from the overload set when either _U1
is not convertible to _T1 or _U2 is not convertible to _T2.
(pair<>::pair(_U1&&, _Arg0&&, _Args&&...)): Remove.
2009-10-29 Douglas Gregor <doug.gregor@gmail.com>
PR libstdc++/40925
* testsuite/20_util/pair/40925.cc: Add.
From-SVN: r153725
2009-10-29 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/41711
* libgfortran.h: Define larger sizes for BOZ conversion buffers.
* io/write.c (extract_uint): Include case where size is 10 if integer
is large enough. (write_int): Rename to write_boz. (write_boz): Factor
out extract_uint and delete the conversion function.
(btoa_big): New binary conversion function.
(otoa_big): New octal conversion function.
(ztoa_big): New hexidecimal conversion function.
(write_b): Modify to use new function.
(write_o): Likewise.
(write_z): Likewise.
From-SVN: r153724
* gcc-interface/decl.c (array_type_has_nonaliased_component): Swap
parameters and rewrite comments. For a derived type, return the
setting of its parent type.
(gnat_to_gnu_entity): Do an alias set copy for derived types if they
are composite. Adjust calls to above function.
From-SVN: r153721
2009-10-29 David Daney <ddaney@caviumnetworks.com>
* doc/invoke.texi (mmcount-ra-address): Document new command line
option.
* config/mips/mips.opt (mmcount-ra-address): New option.
* config/mips/mips-protos.h (mips_function_profiler): Declare new
function.
* config/mips/mips.c (struct mips_frame_info): Add ra_fp_offset
member.
(mips_for_each_saved_gpr_and_fpr): Set ra_fp_offset.
(mips_function_profiler): Moved from FUNCTION_PROFILER, and
rewritten.
* config/mips/mips.h (FUNCTION_PROFILER): Body of macro moved to
mips_function_profiler.
2009-10-29 David Daney <ddaney@caviumnetworks.com>
* gcc.target/mips/mips.exp (mips_option_groups): Add
mcount-ra-address.
* gcc.target/mips/mmcount-ra-address-1.c: New test.
* gcc.target/mips/mmcount-ra-address-2.c: New test.
* gcc.target/mips/mmcount-ra-address-3.c: New test.
From-SVN: r153717
2009-10-29 Tobias Burnus <burnus@net-b.de>
PR fortran/41777
* trans-expr.c
* (gfc_conv_procedure_call,gfc_conv_expr_reference):
Use for generic EXPR_FUNCTION the attributes of the specific
function.
2009-10-29 Tobias Burnus <burnus@net-b.de>
PR fortran/41777
gfortran.dg/associated_target_3.f90: New testcase.
From-SVN: r153706
2009-10-28 Robert Dewar <dewar@adacore.com>
* sem_type.adb: Minor reformatting
2009-10-28 Arnaud Charlet <charlet@adacore.com>
* exp_ch9.adb (Build_Task_Proc_Specification): Generate a different
suffix for task type bodies.
2009-10-28 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a
finalization list if the designated type requires no control actions,
to prevent a useless semantic dependence on ada.tags.
From-SVN: r153705
2009-10-29 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
* config/arm/arm.c (find_best_start): Fix type of remainder to
be unsigned .
From-SVN: r153704
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