janus [Sun, 31 Jan 2010 21:56:02 +0000 (21:56 +0000)]
gcc/fortran/
2010-01-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/42888
* resolve.c (resolve_allocate_expr): Move default initialization code
here from gfc_trans_allocate.
* trans.c (gfc_trans_code): Call gfc_trans_class_assign also for
EXEC_INIT_ASSIGN.
* trans-expr.c (gfc_trans_class_assign): Handle default initialization
of CLASS variables via memcpy.
* trans-stmt.c (gfc_trans_allocate): Move default initialization code
to resolve_allocate_expr.
gcc/testsuite/
2010-01-31 Janus Weil <janus@gcc.gnu.org>
PR fortran/42888
* gfortran.dg/allocate_derived_2.f90: New test.
paolo [Sun, 31 Jan 2010 16:54:49 +0000 (16:54 +0000)]
2010-01-31 Paolo Carlini <paolo.carlini@oracle.com>
Revert last changes. Also revert, among the previous changes:
* include/std/condition_variable (condition_variable_any::
wait<>(_Lock&)): Provide definition.
pault [Sun, 31 Jan 2010 12:05:22 +0000 (12:05 +0000)]
2010-01-31 Paul Thomas <pault@gcc.gnu.org>
PR fortran/38324
* expr.c (gfc_get_full_arrayspec_from_expr): New function.
* gfortran.h : Add prototype for above.
* trans-expr.c (gfc_trans_alloc_subarray_assign): New function.
(gfc_trans_subcomponent_assign): Call new function to replace
the code to deal with allocatable components.
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Call
gfc_get_full_arrayspec_from_expr to replace existing code.
ebotcazou [Fri, 29 Jan 2010 18:21:39 +0000 (18:21 +0000)]
* tree-ssa-alias.c (same_type_for_tbaa): Return -1 if the types have
the same alias set and their sizes different constantness.
(aliasing_component_refs_p): Revert 2009-10-24 change.
dodji [Fri, 29 Jan 2010 14:30:41 +0000 (14:30 +0000)]
Fix PRs c++/42758, c++/42634, c++/42797
... and mitigate PR c++/42336
gcc/cp/ChangeLog:
PR c++/42758
PR c++/42634
PR c++/42336
PR c++/42797
PR c++/42880
* cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
* pt.c (coerce_template_parms, type_unification_real,
expand_template_argument_pack, coerce_template_parameter_pack):
Set the non default template args count.
(current_template_args): Always set non defaulted
template args count when compiled with --enable-checking
(tsubst_template_args, type_unification_real): Propagate the non
defaulted template args count.
* error.c (get_non_default_template_args_count): Renamed
count_non_default_template_args into this. Don't calculate the
non default template argument count anymore. Use the new
accessor macros above to get it.
(dump_template_argument_list, dump_type, dump_decl,
dump_template_parms): Adjust.
* parser.c (cp_parser_template_argument_list): Always set defaulted
template args count when compiled with --enable-checking.
gcc/testsuite/ChangeLog:
PR c++/42758
PR c++/42634
PR c++/42336
PR c++/42797
PR c++/42880
* g++.dg/other/crash-5.C: New test.
* g++.dg/other/crash-6.C: New test.
* g++.dg/other/crash-7.C: New test.
* g++.dg/other/crash-8.C: New test.
jakub [Fri, 29 Jan 2010 12:14:47 +0000 (12:14 +0000)]
PR rtl-optimization/42889
* df.h (df_set_bb_dirty_nonlr): New prototype.
* df-core.c (df_set_bb_dirty_nonlr): New function.
* df-scan.c (df_insn_rescan): Call it instead of
df_set_bb_dirty for DEBUG_INSNs.
razya [Thu, 28 Jan 2010 14:24:25 +0000 (14:24 +0000)]
28-01-2010 Razya Ladelsky <razya@il.ibm.com>
* tree-parloops.c (transform_to_exit_first_loop): Update the basic
block list passed to gimple_duplicate_sese_tail.
(parallelize_loops): Avoid parallelization when the function
has_nonlocal_label.
Avoid parallelization when the preheader is IRREDUCIBLE.
Try to optimize when estimated_loop_iterations_int is unresolved.
Add the loop's location to the dump file.
* tree-cfg.c(add_phi_args_after_redirect): Remove.
(gimple_duplicate_sese_tail): Remove the check for the latch.
Redirect nexits to the exit block.
Remove handling of the incoming edges to the latch.
Redirect the backedge from the copied latch to the exit bb.
dodji [Thu, 28 Jan 2010 12:29:52 +0000 (12:29 +0000)]
Fix PR c++/42713
gcc/cp/ChangeLog:
PR c++/42713
PR c++/42820
* typeck.c (get_template_parms_of_dependent_type): Factorized
this out of incompatible_template_type_parms_p
(incompatible_dependent_types_p): Renamed
incompatible_template_type_parms_p into this. Make it detect
two incompatible dependent typedefs too.
(structural_comptypes): Use incompatible_dependent_types_p.
* pt.c (get_template_info):
Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
gcc/testsuite/ChangeLog:
PR c++/42713
PR c++/42820
* g++.dg/template/typedef27.C: New test case.
* g++.dg/template/typedef28.C: New test case.
jakub [Wed, 27 Jan 2010 16:38:58 +0000 (16:38 +0000)]
* dwarf2out.c (mem_loc_descriptor): Remove special casing of
CONSTANT_POOL_ADDRESS_P SYMBOL_REFs. If for MEM recursive call
on MEM's address failed, try avoid_constant_pool_reference and
recurse if it returned something different.
(loc_descriptor): If for MEM mem_loc_descriptor failed on the
address, try avoid_constant_pool_reference and recurse if it
returned something different.
(dw_loc_list_1): If for MEM mem_loc_descriptor failed on the
address and avoid_constant_pool_reference returned something
different, don't set have_address.
jakub [Wed, 27 Jan 2010 16:36:57 +0000 (16:36 +0000)]
PR debug/42861
* var-tracking.c (val_store): Add modified argument, obey it.
Adjust callers.
(count_uses): Move down logging of main.
(compute_bb_dataflow): Use val_store for MO_VAL_USEs that
don't need resolution.
(emit_notes_in_bb): Likewise.
charlet [Wed, 27 Jan 2010 13:29:52 +0000 (13:29 +0000)]
2010-01-27 Vincent Celier <celier@adacore.com>
* gnatcmd.adb: When there is only one main specified, the package
support Switches (<main>) and attribute Switches is specified for the
main, use these switches, instead of Default_Switches ("Ada").
charlet [Wed, 27 Jan 2010 12:06:07 +0000 (12:06 +0000)]
2010-01-27 Tristan Gingold <gingold@adacore.com>
* seh_init.c: Use __ImageBase instead of _ImageBase.
2010-01-27 Javier Miranda <miranda@adacore.com>
* exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
profile of interface thunks. The type of the controlling formal is now
the covered interface type (instead of the target tagged type).
nickc [Wed, 27 Jan 2010 09:19:36 +0000 (09:19 +0000)]
PR target/42671
* config/arm/arm.c (arm_load_pic_register): Use the same code
sequence with Thumb2 as for Thumb1.
* config/arm/arm.md (pic_add_dot_plus_four): Enable this pattern
for all Thumb varieties.
jakub [Wed, 27 Jan 2010 08:06:04 +0000 (08:06 +0000)]
* config/sparc/sparc.c (sparc_elf_asm_named_section): Test for
HAVE_GNU_AS value.
* config/sparc/sysv4.h [HAVE_GNU_AS] (TARGET_ASM_NAMED_SECTION):
Test for HAVE_GNU_AS value.
charlet [Tue, 26 Jan 2010 14:02:25 +0000 (14:02 +0000)]
2010-01-26 Thomas Quinot <quinot@adacore.com>
* gnat_ugn.texi: Adjust documentation of -gnatz switches.
* usage.adb: Replace line for -gnatz with two lines for -gnatzc and
-gnatzr.
2010-01-26 Vincent Celier <celier@adacore.com>
* prj-attr.adb: Add new attribute Library_Install_Name_Option
Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
attributes Run_Path_Option and Library_Install_Name_Option.
* prj.ads (Project_Configuration): Replace component
Run_Path_Origin_Supported with component Run_Path_Origin. Add new
component Library_Install_Name_Option.
* snames.ads-tmpl: Add new standard name Library_Install_Name_Option
Replace Run_Path_Origin_Supported with Run_Path_Origin
2010-01-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch8.adb (Use_One_Package): Within an instance, an actual package
is not hidden by a homograph declared in another actual package.
paolo [Tue, 26 Jan 2010 13:33:06 +0000 (13:33 +0000)]
2010-01-26 Daniel Frey <d.frey@gmx.de>
* include/std/functional: Use enable_if instead of __enable_if
throughout, do not include ext/type_traits.h.
(is_placeholder, is_bind_expression): Use integral_constant.
charlet [Tue, 26 Jan 2010 13:29:46 +0000 (13:29 +0000)]
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
qualifiers for FOR/WHILE loops
* scos.ads: Use separate type letters F/W for for/while loops
charlet [Tue, 26 Jan 2010 10:55:29 +0000 (10:55 +0000)]
2010-01-26 Robert Dewar <dewar@adacore.com>
* get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
entries per line, one for each statement in the sequence).
* par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
size from 100 to 10_000 for SC_Array to avoid any real possibility of
overflow. Output decisions in for loops.
Exclude labels from CS lines.
* scos.ads: Clarify that label is not included in the entry point
charlet [Tue, 26 Jan 2010 10:30:04 +0000 (10:30 +0000)]
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
format of statement sequence SCO entries (one location/statement).
* put_scos.adb (Put_SCOs): Implement new format of CS lines
* scos.ads: Update comments.
* sem_eval.adb: Minor reformatting.
charlet [Tue, 26 Jan 2010 10:25:52 +0000 (10:25 +0000)]
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
(Extend_Statement_Sequence): New procedures
(Traverse_Declarations_Or_Statements): New handling for exits.
charlet [Tue, 26 Jan 2010 09:56:25 +0000 (09:56 +0000)]
2010-01-26 Vincent Celier <celier@adacore.com>
* gnat_ugn.texi: Complete documentation on the restrictions for
combined options in -gnatxxx switches.
Fix typo.
2010-01-26 Arnaud Charlet <charlet@adacore.com>
* s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
a controlled operation, abort is already deferred at this point, so we
need to use Defer_Abort_Nestable.
2010-01-26 Vincent Celier <celier@adacore.com>
* prj-conf.adb (Get_Config_Switches): Check for a default language for
a project extending a project with no languages.