Razya Ladelsky [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 Seketeli [Thu, 28 Jan 2010 12:29:52 +0000 (12:29 +0000)]
re PR c++/42713 (ICE - segfault in tsubst)
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 Jelinek [Wed, 27 Jan 2010 16:38:58 +0000 (17:38 +0100)]
dwarf2out.c (mem_loc_descriptor): Remove special casing of CONSTANT_POOL_ADDRESS_P SYMBOL_REFs.
* 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.
Alexandre Oliva [Wed, 27 Jan 2010 16:36:57 +0000 (16:36 +0000)]
re PR debug/42861 (Spill slots not tracked during var-tracking)
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.
Arnaud Charlet [Wed, 27 Jan 2010 13:29:52 +0000 (14:29 +0100)]
[multiple changes]
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").
Arnaud Charlet [Wed, 27 Jan 2010 12:06:07 +0000 (13:06 +0100)]
[multiple changes]
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).
Wei Guozhi [Wed, 27 Jan 2010 09:19:36 +0000 (09:19 +0000)]
re PR target/42671 (Thumb2 generate more instructions than Thumb1 to load GOT address)
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.
Rainer Orth [Wed, 27 Jan 2010 08:06:04 +0000 (09:06 +0100)]
sparc.c (sparc_elf_asm_named_section): Test for HAVE_GNU_AS value.
* 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.
Arnaud Charlet [Tue, 26 Jan 2010 14:02:25 +0000 (15:02 +0100)]
[multiple changes]
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.
Daniel Frey [Tue, 26 Jan 2010 13:33:06 +0000 (13:33 +0000)]
functional: Use enable_if instead of __enable_if throughout, do not include ext/type_traits.h.
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.
Robert Dewar [Tue, 26 Jan 2010 13:29:46 +0000 (13:29 +0000)]
par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W qualifiers for FOR/WHILE loops
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
Robert Dewar [Tue, 26 Jan 2010 10:55:29 +0000 (10:55 +0000)]
get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple entries per line...
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
Robert Dewar [Tue, 26 Jan 2010 10:30:04 +0000 (10:30 +0000)]
par_sco.adb (Traverse_Declarations_Or_Statments): Implement new format of statement sequence SCO entries (one location/statement).
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.
Robert Dewar [Tue, 26 Jan 2010 10:25:52 +0000 (10:25 +0000)]
par_sco.ads, [...] (Set_Statement_Entry): New handling of exits
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.
Arnaud Charlet [Tue, 26 Jan 2010 09:56:25 +0000 (10:56 +0100)]
[multiple changes]
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.
Paolo Carlini [Mon, 25 Jan 2010 18:02:41 +0000 (18:02 +0000)]
6.cc: Use an int as loop variable, to avoid -Wall warnings.
2010-01-25 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/22_locale/time_get/get_monthname/char/6.cc: Use an int
as loop variable, to avoid -Wall warnings.
* testsuite/22_locale/time_get/get_monthname/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/wchar_t/6.cc: Likewise.
* testsuite/22_locale/time_get/get_weekday/char/38081-2.cc: Likewise.
Joern Rennecke [Mon, 25 Jan 2010 18:01:29 +0000 (18:01 +0000)]
PR libstdc++/36101, PR libstdc++/42813
PR libstdc++/36101, PR libstdc++/42813
* configure.ac (bootstrap_target_libs): Make inclusion of
target-libgomp conditional on libgomb being in target_configdirs.
* configure: Regenerate.
Arnaud Charlet [Mon, 25 Jan 2010 16:26:27 +0000 (17:26 +0100)]
[multiple changes]
2010-01-25 Bob Duff <duff@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
is an internally-generated positional aggregate, and the bounds are
already correctly set. We don't want to overwrite those bounds with
bounds determined by context.
2010-01-25 Robert Dewar <dewar@adacore.com>
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
exp_ch9.adb, g-sechas.ads: Minor reformatting.
2010-01-25 Thomas Quinot <quinot@adacore.com>
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
integer type) before subtracting 1, otherwise the computation may wrap
(because size_t is modular) and cause the conversion to fail.
2010-01-25 Ed Falis <falis@adacore.com>
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
2010-01-25 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Run_Path_Origin_Required
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
attribute Run_Path_Origin_Required.
* prj.ads (Project_Configuration): New component
Run_Path_Origin_Supported.
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
Arnaud Charlet [Mon, 25 Jan 2010 16:24:20 +0000 (17:24 +0100)]
[multiple changes]
2010-01-25 Bob Duff <duff@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
is an internally-generated positional aggregate, and the bounds are
already correctly set. We don't want to overwrite those bounds with
bounds determined by context.
2010-01-25 Robert Dewar <dewar@adacore.com>
* g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
exp_ch9.adb, g-sechas.ads: Minor reformatting.
2010-01-25 Thomas Quinot <quinot@adacore.com>
* s-commun.adb (Last_Index): Count must be converted to SEO (a signed
integer type) before subtracting 1, otherwise the computation may wrap
(because size_t is modular) and cause the conversion to fail.
2010-01-25 Ed Falis <falis@adacore.com>
* sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
2010-01-25 Vincent Celier <celier@adacore.com>
* prj-attr.adb: New attribute Run_Path_Origin_Required
* prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
attribute Run_Path_Origin_Required.
* prj.ads (Project_Configuration): New component
Run_Path_Origin_Supported.
* snames.ads-tmpl: New standard name Run_Path_Origin_Required
Arnaud Charlet [Mon, 25 Jan 2010 14:53:51 +0000 (15:53 +0100)]
[multiple changes]
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
have errors, do not continue resolution of the aggregate.
* sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
the array type indicates an error.
* sem_ch6.adb (Process_PPCs): If a postcondition is present and the
enclosing subprogram has no previous spec, attach postcondition
procedure to the defining entity for the body.
2010-01-25 Ed Schonberg <schonberg@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
initialization procedure of the ancestor part of an extension aggregate
if it is an interface type.
2010-01-25 Vincent Celier <celier@adacore.com>
* gnatlink.adb (Process_Binder_File): The directory for the shared
version of libgcc in the run path options is found in the subdirectory
indicated by __gnat_default_libgcc_subdir.
* link.c: Declare new const char * __gnat_default_libgcc_subdir for
each platform.
David S. Miller [Mon, 25 Jan 2010 10:22:04 +0000 (10:22 +0000)]
sysv4.h (TARGET_ASM_NAMED_SECTION): Only define if not using GAS.
2010-01-24 David S. Miller <davem@davemloft.net>
* gcc/config/sparc/sysv4.h (TARGET_ASM_NAMED_SECTION): Only
define if not using GAS.
* gcc/config/sparc/sparc.c (sparc_elf_asm_named_section):
Likewise. Delete SECTION_MERGE code, which is only applicable
when using GAS.
Paul Thomas [Sun, 24 Jan 2010 16:59:51 +0000 (16:59 +0000)]
re PR fortran/41044 (internal compiler error: in gfc_conv_intrinsic_function)
2010-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
PR fortran/41167
* expr.c (remove_subobject_ref): If the constructor is NULL use
the expression as the source.
(simplify_const_ref): Change the type of expression if
there are component references. Allow for substring to be at
the end of an arbitrarily long chain of references. If an
element is found that is not in an EXPR_ARRAY, assume that this
is scalar initialization of array. Call remove_subobject_ref in
this case with NULL second argument.
2010-01-24 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41044
* gfortran.dg/parameter_array_ref_2.f90 : New test.
PR fortran/41167
* gfortran.dg/char_array_arg_1.f90 : New test.
re PR tree-optimization/42833 (sra miscompiles qemu)
PR tree-opt/42833
* tree-sra.c (sra_modify_assign): Delay re-gimplification of
the RHS until after generate_subtree_copies has insertted its
code before the current statement.
Paul Thomas [Thu, 21 Jan 2010 20:38:51 +0000 (20:38 +0000)]
re PR fortran/42736 (Wrong-code with allocatable or pointer components in elemental functions)
2010-01-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* trans-stmt.c (gfc_conv_elemental_dependencies): If temporary
is required, turn any trailing array elements after a range
into ranges so that offsets can be calculated.
2010-01-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/42736
* gfortran.dg/dependency_25.f90 : New test.
Martin Jambor [Thu, 21 Jan 2010 16:18:06 +0000 (17:18 +0100)]
re PR tree-optimization/42585 (SRA is not good for structure copies with one replacement any more)
2010-01-21 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/42585
* tree-sra.c (struct access): New field grp_total_scalarization.
(dump_access): Dump the new field.
(should_scalarize_away_bitmap): New variable.
(cannot_scalarize_away_bitmap): Likewise.
(sra_initialize): Allocate new bitmaps.
(sra_deinitialize): Free new bitmaps.
(create_access_1): New function.
(create_access): Parts moved to create_access_1.
(type_consists_of_records_p): New function.
(completely_scalarize_record): Likewise.
(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
(sort_and_splice_var_accesses): Hint groups with a total_scalarization
access.
(analyze_all_variable_accesses): Completely scalarize small eligible
records.