platform/upstream/gcc.git
12 years agore PR target/53961 (internal compiler error: in memory_address_length, at config...
Uros Bizjak [Tue, 24 Jul 2012 11:37:20 +0000 (13:37 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)

PR target/53961
* config/i386/i386.c (ix86_legitimate_address_p): Move check for
negative constant address for TARET_X32 ...
(ix86_decompose_address): ... here.  Reject constant addresses
that don't satisfy x86_64_immediate_operand predicate.

From-SVN: r189806

12 years agosourcebuild.texi (arm_hf_eabi): Document effective-target check.
Julian Brown [Tue, 24 Jul 2012 11:29:50 +0000 (11:29 +0000)]
sourcebuild.texi (arm_hf_eabi): Document effective-target check.

    gcc/
    * doc/sourcebuild.texi (arm_hf_eabi): Document effective-target
    check.

    gcc/testsuite/
    * lib/target-supports.exp (check_effective_target_arm_hf_eabi): New.
    * gcc.dg/torture/stackalign/builtin-apply-2.c: Skip for
    hard-float ARM.

From-SVN: r189805

12 years agolto-tree.h (lang_decl): Add variable_size GTY option.
Uros Bizjak [Tue, 24 Jul 2012 10:51:11 +0000 (12:51 +0200)]
lto-tree.h (lang_decl): Add variable_size GTY option.

gcc/lto/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* lto-tree.h (lang_decl): Add variable_size GTY option.

gcc/go/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* go-lang.c (lang_decl): Add variable_size GTY option.

gcc/c/ChangeLog:

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

* c-lang.h (lang_decl): Add variable_size GTY option.

From-SVN: r189804

12 years agosbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
Steven Bosscher [Tue, 24 Jul 2012 09:49:56 +0000 (09:49 +0000)]
sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.

gcc/
* sbitmap.h (SBITMAP_ELT_BITS): Use "1u" trick as for BITMAP_WORD_BITS.
Move test to check that there is a popcount function for the the number
of bits in SBITMAP_ELT_BITS to sbitmap.c.
* sbitmap.c: Test SBITMAP_ELT_BITS, not HOST_BITS_PER_WIDEST_FAST_INT.
MEM_STAT_INFO): Define in terms of their ALONE counterparts.

* configure.ac (GATHER_STATISTICS): Always define, non-zero if enabled.
* configure: Regenerate.
* statistics.h (GATHER_STATISTICS): Error out if it is not defined.
(GCC_MEM_STAT_ARGUMENTS): New define.
(ALONE_MEM_STAT_DECL): Define in terms of GCC_MEM_STAT_ARGUMENTS.
(ALONE_FINAL_MEM_STAT_DECL, ALONE_FINAL_PASS_MEM_STAT): New defines.
(MEM_STAT_DECL, FINAL_MEM_STAT_DECL, PASS_MEM_STAT, FINAL_PASS_MEM_STAT,
* ggc-internal.h (ggc_record_overhead): Use FINAL_MEM_STAT_DECL.
* ggc.h (ggc_record_overhead, ggc_free_overhead,
ggc_prune_overhead_list): Remove internal prototypes, they are defined
already in ggc-internal.h.
* ggc-common.c (struct loc_descriptor): Remove #ifdef GATHER_STATISTICS
wrappers.
(add_statistics): Likewise.
(dump_ggc_loc_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* ggc-zone.c (struct page_entry): Remove #ifdef GATHER_STATISTICS
wrappers around "survived" and "stats" members.
(alloc_large_page): Always initialize survived.
(ggc_internal_alloc_zone_stat): Likewise.
Remove #ifdef GATHER_STATISTICS wrappers.  Record overhead if
GATHER_STATISTICS is non-0.
(ggc_free): Convert #ifdef GATHER_STATISTICS to if-code.
(sweep_pages): Always increase survived.
(ggc_collect_1): Convert #ifdef GATHER_STATISTICS to if-code.
(calculate_average_page_survival): Always define.
(ggc_collect): Convert #ifdef GATHER_STATISTICS to if-code.
(ggc_print_statistics): Likewise.
(ggc_pch_read): Likewise.
* ggc-page.c (struct globals): Always define "stats" member.
(ggc_internal_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
(ggc_free): Likewise.
(ggc_collec): Likewise.
(ggc_print_statistics): Likewise.
* bitmap.h (struct bitmap_head_def): Always define "desc" member.
(bitmap_initialize_stat): Convert #ifdef GATHER_STATISTICS to if-code.
* gimple.h (enum gimple_alloc_kind): Always define.
(gimple_alloc_kind): Likewise.
* tree-flow.h (phinodes_print_statistics): Always define.
(ssanames_print_statistics): Likewise.
* vec.h (vec_heap_free): Always define.
(VEC_stack_alloc): Define if GATHER_STATISTICS is non-0.
* alloc-pool.c (alloc_pool_descriptor): Always define.
(create_alloc_pool): Convert #ifdef GATHER_STATISTICS to if-code.
(empty_alloc_pool): Likewise.
(pool_alloc): Likewise.
(pool_free): Likewise.
(dump_alloc_pool_statistics): Likewise.
(print_statistics): Always define.
* bitmap.c (struct bitmap_descriptor): Always define.
(bitmap_register): Pass ALONE_FINAL_PASS_MEM_STAT.
(register_overhead): Always define.
(bitmap_element_free): Convert #ifdef GATHER_STATISTICS to if-code.
(bitmap_element_allocate): Likewise.
(bitmap_elt_clear_from): Likewise.
(bitmap_obstack_alloc_stat): Likewise.
(bitmap_gc_alloc_stat): Likewise.
(bitmap_obstack_free): Likewise.
(bitmap_find_bit): Likewise.
(bitmap_ior_and_into):  Likewise.
(bitmap_print): Likewise.
(dump_bitmap_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* gimple.c (gimple_alloc_counts, gimple_alloc_sizes): Always define.
(gimple_alloc_kind_names): Likewise.
(gimple_alloc_stat): Convert #ifdef GATHER_STATISTICS to if-code.
(dump_gimple_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* rtl.c (rtx_alloc_counts, rtx_alloc_sizes, rtvec_alloc_counts,
rtvec_alloc_sizes): Always define.
(rvec_alloc): Convert #ifdef GATHER_STATISTICS to if-code.
(rtx_alloc_stat): Likewise.
(dump_rtx_statistics): Likewise. Return if GATHER_STATISTICS is 0.
* tree.c (_obstack_allocated_p, tree_code_counts, tree_node_counts,
tree_node_sizes, tree_node_kind_names): Always define.
(record_node_allocation_statistics): Convert #ifdef GATHER_STATISTICS
to if-code.
(type_hash_canon): Likewise.
(dump_tree_statistics): Likewise.
* tree-ssanames.c (ssa_name_nodes_reused, ssa_name_nodes_created):
Always define.
(ssanames_print_statistics): Likewise.
(make_ssa_name_fn): Convert #ifdef GATHER_STATISTICS to if-code.
* tree-phinodes.c (phi_nodes_reused, phi_nodes_created): Always define.
(phinodes_print_statistics): Likewise.
(allocate_phi_node): Convert #ifdef GATHER_STATISTICS to if-code.
* vec.c (struct vec_descriptor): Always define.
(hash_descriptor, eq_descriptor, ptr_hash_entry, hash_ptr, eq_ptr,
vec_descriptor, rester_overhead, free_overhead): Likewise.
(cmp_statistic): Likewise.
(vec_heap_free): Convert #ifdef GATHER_STATISTICS to if-code.
(vec_heap_o_reserve_1): Likewise.
(dump_vec_loc_statistics): Likewise.

cp/
* cp/class.c (n_vtables, n_vtable_entries, n_vtable_searches,
n_vtable_elems, n_convert_harshness, n_compute_conversion_costs,
n_inner_fields_searched): Always define.
(build_primary_vtable): Convert #ifdef GATHER_STATISTICS to if-code.
(print_class_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/tree.c (depth_reached): Always define global.
(cxx_print_statistics): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/pt.c (depth_reached): Always define.
(push_tinst_level): Convert #ifdef GATHER_STATISTICS to if-code.
* cp/search.c (n_fields_searched, n_calls_lookup_field,
n_calls_lookup_field_1, n_calls_lookup_fnfields,
n_calls_lookup_fnfields_1, n_calls_get_base_type,
n_outer_fields_searched, n_contexts_saved): Always define.
(lookup_field_1): Convert #ifdef GATHER_STATISTICS to if-code.
(lookup_member): Likewise.
(lookup_fnfields_idx_nolazy): Likewise.
(print_search_statistics): Likewise.
(reinit_search_statistics): Unconditionally re-set counters.
* cp/lex.c (retrofit_lang_decl): Convert #ifdef GATHER_STATISTICS
to if-code.
(cxx_dup_lang_specific_decl): Likewise.
(copy_lang_type): Likewise.
(cxx_make_type): Likewise.

From-SVN: r189803

12 years agore PR middle-end/53616 (416.gamess in SPEC CPU 2006 miscompiled)
Richard Guenther [Tue, 24 Jul 2012 08:37:43 +0000 (08:37 +0000)]
re PR middle-end/53616 (416.gamess in SPEC CPU 2006 miscompiled)

2012-07-24  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53616
* tree-loop-distribution.c (ldist_gen): Do not change
partition ordering when merging partitions.

From-SVN: r189802

12 years agore PR target/53914 (poor code generated for offset addressing on ppc32)
Alan Modra [Tue, 24 Jul 2012 05:55:50 +0000 (15:25 +0930)]
re PR target/53914 (poor code generated for offset addressing on ppc32)

PR target/53914
PR target/54009
* config/rs6000/constraints.md (Y): Use mem_operand_gpr.
* config/rs6000/predicates.md (word_offset_memref_operand): Delete.
Adjust all rs6000_legitimate_offset_address_p calls.
* config/rs6000/rs6000-protos.h (mem_operand_gpr): Declare.
(rs6000_secondary_reload_gpr): Declare.
(rs6000_legitimate_offset_address_p): Update prototype.
(rs6000_offsettable_memref_p): Delete.
(rs6000_secondary_reload_ppc64): Delete.
* config/rs6000/rs6000.c (address_offset): New function.
(mem_operand_gpr): Likewise.
(rs6000_legitimate_offset_address_p): Add worst_case param.  When
not worst_case assume class of regs with least restrictive offsets.
Adjust all calls.
(legitimate_lo_sum_address_p): Simplify register mode tests.
(rs6000_legitimize_address): Likewise.  Assume best case offset
addressing.  Combine ELF and MACHO lo_sum code.
(rs6000_mode_dependent_address): Correct offset addressing limits.
(rs6000_offsettable_memref_p): Make static, add reg_mode param.
Use reg_mode to help rs6000_legitimate_offset_address_p.
(rs6000_secondary_reload): Use address_offset.  Handle 32-bit multi
gpr load/store when offset too large.
(rs6000_secondary_reload_gpr): Renamed rs6000_secondary_reload_ppc64.
(rs6000_split_multireg_move): Adjust rs6000_offsettable_memref_p calls.
* config/rs6000/rs6000.md (movdf_hardfloat32): Use 'Y' constraint
for gpr load/store.  Order alternatives as r->Y,Y->r,r->r and
d->m,m->d,d->d.  Correct size of gpr load/store.
(movdf_softfloat32): Use 'Y' constraint for gpr load/store.  Order
alternatives.
(movti_ppc64): Likewise.
(movdi_internal32): Likewise.  Also disparage fprs.
(movdi_mfpgpr, movdi_internal64): Likewise.
(movtf_internal): Use 'm' for fpr load/store.  Order alternatives.
(movtf_softfloat): Order alternatives.
(extenddftf2_internal): Use 'm' and 'Y' for store.
(movti_power, movti_string): Use 'Y' for gpr load/store.  Order.
(stack_protect_setdi, stack_protect_testdi): Likewise.
(movdf_hardfloat64_mfpgpr, movdf_hardfloat64): Order alternatives.
(movdf_softfloat64): Likewise.
(reload_<mode>_store): Adjust reload_di_store to provide
reload_si_store as well.
(reload_<mode>_load): Likewise.

From-SVN: r189801

12 years agoDaily bump.
GCC Administrator [Tue, 24 Jul 2012 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189800

12 years agore PR target/51244 ([SH] Inefficient conditional branch and code around T bit)
Oleg Endo [Mon, 23 Jul 2012 22:57:36 +0000 (22:57 +0000)]
re PR target/51244 ([SH] Inefficient conditional branch and code around T bit)

PR target/51244
* config/sh/predicates.md (general_movsrc_operand,
general_movdst_operand): Reject T_REG.
* config/sh/sh.md (*extendqisi2_compact_reg, *extendhisi2_compact_reg,
movsi_i, movsi_ie, movsi_i_lowpart, *movqi_reg_reg, *movhi_reg_reg):
Remove T_REG alternatives.
(*negtstsi): New insn.

From-SVN: r189797

12 years agore PR target/53511 (SH Target: Add support for fma patterns)
Oleg Endo [Mon, 23 Jul 2012 22:54:06 +0000 (22:54 +0000)]
re PR target/53511 (SH Target: Add support for fma patterns)

PR target/53511
* config/sh/sh.md (mulsf3_ie): Delete.
(mulsf3_i4): Rename to mulsf3_i.
(mulsf3): Emit mulsf3_i insn.

From-SVN: r189796

12 years agosh.md (addc1, subc1): Delete.
Oleg Endo [Mon, 23 Jul 2012 22:51:38 +0000 (22:51 +0000)]
sh.md (addc1, subc1): Delete.

* config/sh/sh.md (addc1, subc1): Delete.
(adddi3_compact): Use addc instead of addc1.
(subdi3_compact): Use subc instead of subc1.

From-SVN: r189795

12 years agoi386-protos.c (ix86_lea_outperforms): Remove prototype.
Uros Bizjak [Mon, 23 Jul 2012 19:03:48 +0000 (21:03 +0200)]
i386-protos.c (ix86_lea_outperforms): Remove prototype.

* config/i386/i386-protos.c (ix86_lea_outperforms): Remove prototype.
* config/i386/i386.c (ix86_lea_outperforms): Make static.  Make
split_cost argument signed.
(ix86_avoid_lea_for_add): Cleanup.
(ix86_use_lea_for_mov): Use INVALID_REGNUM instead of -1.
(ix86_avoid_lea_for_addr): Ditto.  Make split_cost signed.
Use gen_lowpart instead of gen_rtx_SUBREG.  Cleanup.

From-SVN: r189792

12 years ago* config/arm/arm.c (arm_reorg): Ensure all insns are split.
Ulrich Weigand [Mon, 23 Jul 2012 17:28:36 +0000 (17:28 +0000)]
* config/arm/arm.c (arm_reorg): Ensure all insns are split.

From-SVN: r189790

12 years agore PR target/53961 (internal compiler error: in memory_address_length, at config...
Uros Bizjak [Mon, 23 Jul 2012 16:04:23 +0000 (18:04 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)

PR target/53961
* config/i386/i386.md (*lea): Add asserts to detect invalid addresses.
* config/i386/i386.c (ix86_print_operand_address): Ditto.
(ix86_decompose_address): Allow (zero_extend:DI (subreg:SI (...)))
addresses.  Prevent zero extensions of CONST_INT operands.

From-SVN: r189787

12 years agosbitmap.h (struct int_list): Remove.
Steven Bosscher [Mon, 23 Jul 2012 14:28:29 +0000 (14:28 +0000)]
sbitmap.h (struct int_list): Remove.

* sbitmap.h (struct int_list): Remove.
(sbitmap_intersect_of_predsucc, sbitmap_union_of_predsucc):
Remove prototypes of non-existing function.
(sbitmap_intersect_of_predecessors, sbitmap_intersect_of_successors,
sbitmap_union_of_predecessors, sbitmap_union_of_successors): Remove
unused defines.
(sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
sbitmap_union_of_succs, sbitmap_union_of_preds): Move prototypes to...
* basic-block.h: ... here.
* sbitmap.c: Do not include basic-block.h.
(sbitmap_intersection_of_succs, sbitmap_intersection_of_preds,
sbitmap_union_of_succs, sbitmap_union_of_preds): Move functions to...
* cfganal.c: ... here.
* bt-load.c (compute_out, link_btr_uses): Update for above changes.
* gcse.c (compute_code_hoist_vbeinout): Likewise.
* lcm.c (compute_antinout_edge, compute_available): Likewise.
* Makefile.in: Fix sbitmap.o dependencies.

From-SVN: r189785

12 years agoarmv7m-1.c: New test.
Paul Brook [Mon, 23 Jul 2012 14:24:31 +0000 (14:24 +0000)]
armv7m-1.c: New test.

gcc/testsuite/
* g++.dg/other/armv7m-1.c: New test.

From-SVN: r189784

12 years agofrv-protos.h (frv_ifcvt_machdep_init): Prototype.
Jan-Benedict Glaw [Mon, 23 Jul 2012 14:11:39 +0000 (14:11 +0000)]
frv-protos.h (frv_ifcvt_machdep_init): Prototype.

* config/frv/frv-protos.h (frv_ifcvt_machdep_init): Prototype.
* config/frv/frv.c (frv_ifcvt_machdep_init): Change type of
(unused) parameter to void *.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r189783

12 years agotree-ssa-alias.c (dump_alias_info): Walk over local decls instead of referenced vars.
Richard Guenther [Mon, 23 Jul 2012 13:36:34 +0000 (13:36 +0000)]
tree-ssa-alias.c (dump_alias_info): Walk over local decls instead of referenced vars.

2012-07-23  Richard Guenther  <rguenther@suse.de>

* tree-ssa-alias.c (dump_alias_info): Walk over local decls
instead of referenced vars.

From-SVN: r189782

12 years agocoverage.c: Refer to "notes file" instead of "graph file" in all comments.
Steven Bosscher [Mon, 23 Jul 2012 11:59:15 +0000 (11:59 +0000)]
coverage.c: Refer to "notes file" instead of "graph file" in all comments.

gcc/
* coverage.c: Refer to "notes file" instead of "graph file"
in all comments.  Explain history of bbg prefix.
* gcov-io.h: Likewise.
* gcov.c: Likewise.
(find_source): Likewise in fnotice.
(read_graph_file): Likewise.
(read_count_file): Likewise.
* doc/gcov.texi: Document -fprofile-dir flag.  Add "notes file"
and "data file" explicitly in the explanation of the files.

libgcc/
* libgcov.c (__gcov_ior_profiler): Benign comment fix.

From-SVN: r189781

12 years ago20101011-1.c (__aeabi_idiv0): Define for ARM.
Julian Brown [Mon, 23 Jul 2012 10:47:53 +0000 (10:47 +0000)]
20101011-1.c (__aeabi_idiv0): Define for ARM.

gcc/testsuite/
* gcc.c-torture/execute/20101011-1.c (__aeabi_idiv0): Define for
ARM.
(DO_TEST): Define to 1 for appropriate ARM targets.

From-SVN: r189780

12 years agore PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)
Steven Bosscher [Mon, 23 Jul 2012 09:26:41 +0000 (09:26 +0000)]
re PR tree-optimization/53881 (ICE in hoist_edge_and_branch_if_true)

gcc/
PR tree-optimization/53881
* tree-cfg.c (group_case_labels_stmt): Look up the basic block
for each label and compare them instead of labels.

testsuite/
PR tree-optimization/53881
* gcc.dg/pr53881.c: Renamed to ...
* gcc.dg/pr53881-1.c: ... this.
* gcc.dg/pr53881-2.c: New test.

From-SVN: r189779

12 years agoopts.c (common_handle_option): Do not set flag_value_profile_transformations for...
Steven Bosscher [Mon, 23 Jul 2012 09:24:21 +0000 (09:24 +0000)]
opts.c (common_handle_option): Do not set flag_value_profile_transformations for -fprofile-generate.

* opts.c (common_handle_option): Do not set
flag_value_profile_transformations for -fprofile-generate.
* profile.c (instrument_values): Use COUNTER_FOR_HIST_TYPE.
(BB_TO_GCOV_INDEX): Remove.
(output_location): Don't use it.
(branch_prob): Likewise.  Don't fiddle with the index of
ENTRY_BLOCK_PTR and EXIT_BLOCK_PTR.  Use clear_aux_for_blocks.
(find_spanning_tree):
* gcov.c (struct function_info): Document that blocks 0 and 1
are the entry resp. exit blocks in gcov, too, like in GCC itself.
(solve_flow_graph): Use ENTRY_BLOCK and EXIT_BLOCK for special
blocks identification.
(output_lines): Likewise.
* value-prof.c (gimple_value_profile_transformations): Do not
test flag_value_profile_transformations again.
(gimple_ic_transform): Take a gimple_stmt_iterator like all other
transformation functions.
(gimple_values_to_profile):
Don't test flag_value_profile_transformations
* tree-profile.c (tree_profiling): Assert that the cgraph is in
the CGRAPH_STATE_IPA_SSA state.
Do not set, or look at, after_tree_profile.
* function.h (struct function): Remove after_tree_profile bit.
* omp-low.c (expand_omp_taskreg): Don't set after_tree_profile.
* tree-inline.c (initialize_cfun): Don't copy it.
* lto-streamer-out.c (output_struct_function_base): Don't stream it.
* lto-streamer-in.c (input_struct_function_base): Likewise.

From-SVN: r189778

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:41:08 +0000 (10:41 +0200)]
[multiple changes]

2012-07-23  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu): Use
End_Label sloc when possible for sloc of the TRY_CATCH_EXPR node.

2012-07-23  Olivier Hainque  <hainque@adacore.com>

* gcc-interface/Makefile.in: Adjust processing of Linker_Options for
VxWorks.
* gcc-interface/Make-lang.in: Update dependencies.

From-SVN: r189777

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:32:33 +0000 (10:32 +0200)]
[multiple changes]

2012-07-23  Arnaud Charlet  <charlet@adacore.com>

* s-tasinf-linux.ads: Fix typo.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* exp_ch7.adb, switch-m.adb, exp_ch3.adb, freeze.adb: Minor reformatting

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* exp_ch5.adb (Expand_Iterator_Loop_Over_Array): If original
loop carries an identifier, preserve it when rewriting it as a
standard loop to validate exit statements that may reference
that name in the body of the loop.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.adb: Minor code cleanup.

From-SVN: r189776

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:29:15 +0000 (10:29 +0200)]
[multiple changes]

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Analyze_Selected_Component): When checking for
potential ambiguities with class-wide operations on synchronized
types, attach the copied node properly to the tree, to prevent
errors during expansion.

2012-07-23  Yannick Moy  <moy@adacore.com>

* sem_ch5.adb (Analyze_Loop_Statement): Make sure the loop body
is analyzed in Alfa mode.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb: Adjust previous change.

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* sem_ch9.adb (Allows_Lock_Free_Implementation): Flag
Lock_Free_Given renames previous flag Complain. Description
updated. Henceforth, catch every error messages issued by this
routine when Lock_Free_Given is True.  Declaration restriction
updated: No non-elementary parameter instead (even in parameter)
New subprogram body restrictions implemented: No allocator,
no address, import or export rep items, no delay statement,
no goto statement, no quantified expression and no dereference
of access value.

2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* checks.adb (Determine_Range): Add local variable Btyp. Handle
the case where the base type of an enumeration subtype is
private. Replace all occurrences of Base_Type with Btyp.
* exp_attr.adb (Attribute_Valid): Handle the case where the
base type of an enumeration subtype is private. Replace all
occurrences of Base_Type with Btyp.
* sem_util.adb (Get_Enum_Lit_From_Pos): Add local variable
Btyp. Handle the case where the base type of an enumeration
subtype is private. Replace all occurrences of Base_Type with
Btyp.

From-SVN: r189775

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:19:53 +0000 (10:19 +0200)]
[multiple changes]

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* par-ch6.adb (P_Mode): in Ada 2005, a mode indicator can apply
to a formal object of an anonymous access type.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch4.adb (Try_Container_Indexing): A user-defined indexing
aspect can have more than one index, e.g. to describe indexing
of a multidimensional object.

2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch4.adb (Apply_Accessibility_Check): Reimplemented. The check is
now more complex and contains optional finalization part and mandatory
deallocation part.

2012-07-23  Gary Dismukes  <dismukes@adacore.com>

* a-cihama.adb, a-cihase.adb, a-cimutr.adb, a-ciorma.adb, a-ciormu.adb,
a-ciorse.adb, a-coinho.adb, a-coinve.adb, a-cidlli.adb: Unsuppress
Accessibility_Check for Element_Type allocators.

2012-07-23  Vasiliy Fofanov  <fofanov@adacore.com>

* projects.texi: Fix typo.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_res.adb (Resolve_Explicit_Derenference): If prefix is
overloaded, remove those interpretations whose designated type
does not match the context, to avoid spurious ambiguities that
may be caused by the Ada 2012 conversion rule for anonymous
access types.

From-SVN: r189774

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:10:49 +0000 (10:10 +0200)]
[multiple changes]

2012-07-23  Vincent Celier  <celier@adacore.com>

* g-spitbo.adb (Substr (String)): Return full string and do not
raise exception when Start is 1 and Len is exactly the length
of the string parameter.
* g-spitbo.ads: Fix spelling error in the name of exception
Index_Error.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* par.adb: new subprogram Get_Aspect_Specifications.
* par-ch6.adb (P_Subprogram): handle subprogram bodies with aspect
specifications.
* par-ch13.adb (Get_Aspect_Specifications): extracted from
P_Aspect_Specifications. Collect aspect specifications in some
legal context, but do not attach them to any declaration. Used
when parsing subprogram declarations or bodies that include
aspect specifications.
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): If aspects are
present, analyze them, or reject them if the subprogram as a
previous spec.

2012-07-23  Vasiliy Fofanov  <fofanov@adacore.com>

* gnat_ugn.texi: Omit section on other platforms/runtimes support
in gnattest for vms version.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_ch13.adb (Analyze_Aspect_Specifications):
Handle properly aspects that can be specified on a subprogram
body: CPU, Priority, and Interrupt_Priority.

2012-07-23  Claire Dross  <dross@adacore.com>

* a-cfdlli.ads: Switch definition of Constant_Reference_Type
and Empty_List.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* par_sco.adb (Process_Decisions.Output_Header): For the guard
on an alternative in a SELECT statement, use the First_Sloc
of the guard expression (not its topmost sloc) as the decision
location, because this is what is referenced by dominance markers.

2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* exp_ch7.adb (Requires_Hooking): Examine the original expression
of an object declaration node because a function call that
returns on the secondary stack may have been rewritten into
something else.

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* sem_dim.adb (Analyze_Dimension_Has_Etype): For identifier, propagate
dimension when entity is a non-dimensionless constant.
(Analyze_Dimension_Object_Declaration): Propagate
dimension from the expression to the entity when type is a
dimensioned type and object is a constant.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_attr.adb (Analyze_Attribute, case 'Old): if the prefix
is not an entity name, expand at once so that code generated by
the expansion of the prefix is not generated before the constant
that captures the old value is properly inserted and analyzed.

2012-07-23  Thomas Quinot  <quinot@adacore.com>

* exp_ch9.adb (Ensure_Statement_Present): Mark generated NULL
statement as Comes_From_Source so that GIGI does not eliminate it.

From-SVN: r189773

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 08:01:22 +0000 (10:01 +0200)]
[multiple changes]

2012-07-23  Hristian Kirtchev  <kirtchev@adacore.com>

* sem_ch12.adb (Insert_Freeze_Node_For_Instance): Inst is now
a local variable. Retrieve the related instance when processing
a subprogram instantiation. Such instances appear as wrapper
packages.

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* system-aix64.ads, system-aix.ads, system-darwin-ppc.ads,
system-hpux.ads, system-linux-alpha.ads,
system-linux-hppa.ads, system-linux-ppc.ads,
system-linux-s390.ads, system-linux-s390x.ads,
system-linux-sh4.ads, system-linux-sparc.ads,
system-lynxos-ppc.ads, system-mingw.ads,
system-solaris-sparc.ads, system-solaris-sparcv9.ads,
system-vms_64.ads, * system-vxworks-arm.ads, system-vxworks-m68k.ads,
system-vxworks-mips.ads, system-vxworks-ppc.ads,
system-vxworks-sparcv9.ads: Support_Atomic_Primitives set to False.
* system-darwin-x86.ads, system-darwin-x86_64.ads,
system-freebsd-x86.ads, system-freebsd-x86_64.ads,
system-hpux-ia64.ads, system-linux-ia64.ads, system-linux-x86.ads,
system-linux-x86_64.ads, system-lynxos-x86.ads,
system-mingw-x86_64.ads, system-solaris-x86.ads,
system-solaris-x86_64.ads, system-vms-ia64.ads,
system-vxworks-x86.ads: Support_Atomic_Primitives set to True.
* s-atopri.adb (Lock_Free_Read_X): New body.
(Lock_Free_Try_Write_X): Support_Atomic_Primitives check added.
(Lock_Free_Try_Write_64): New body.
* s-atopri.ads: New type uint.
(Sync_Compare_And_Swap_64): __sync_val_compare_and_swap_8 intrinsic
import.
(Lock_Free_Read_X): Body moved to s-atopri.adb.
(Lock_Free_Try_Write_64): Similar to other Lock_Free_Try_Write_X
routines.
* targparm.adb: New enumeration literal SAP
(Support_Atomic_Primitives) for type Targparm_Tags. New constant
SAP_Str. New component SAP_Str'Access for array Targparm_Str.
(Get_Target_Parameters): Parse Support_Atomic_Primitives_On_Target
flag.
* targparm.ads: New back-end code generation flag
Support_Atomic_Primitives_On_Target

2012-07-23  Vincent Pucci  <pucci@adacore.com>

* gnat_ugn.texi: Dimensionality checking documentation updated.

2012-07-23  Ed Schonberg  <schonberg@adacore.com>

* sem_prag.adb (Make_Inline): If the pragma applies to a
subprogram renaming, set inline flags on both the renamed entity
and on the renaming, so that some ASIS queries can be handled
consistently in the absence of expansion.

From-SVN: r189772

12 years ago[multiple changes]
Arnaud Charlet [Mon, 23 Jul 2012 07:35:03 +0000 (09:35 +0200)]
[multiple changes]

2012-07-23  Fedor Rybin  <frybin@adacore.com>

* gnat_ugn.texi: Removing obsolete limitation of gnattest
to support only ada05. Updating gnattest support for other
platforms/run-times section to reflect the usage of taget
prefix in gnattest calls.  Fixing missed obsolete --stub-default
option name.

2012-07-23  Robert Dewar  <dewar@adacore.com>

* uintp.adb: Minor reformatting.

2012-07-23  Olivier Hainque  <hainque@adacore.com>

* system-vxworks-ppc.ads: Replace the default
Linker_Options requesting crtbe by a commented out request for
-nostartfiles.

2012-07-23  Vincent Celier  <celier@adacore.com>

* prj-nmsc.adb (Check_Naming): Do not get the exceptions names
in a virtual project.

From-SVN: r189771

12 years agolayout.adb, [...]: Minor reformatting.
Robert Dewar [Mon, 23 Jul 2012 07:31:47 +0000 (07:31 +0000)]
layout.adb, [...]: Minor reformatting.

2012-07-23  Robert Dewar  <dewar@adacore.com>

* layout.adb, sem_prag.adb, sem.ads, freeze.adb,
switch-m.adb, exp_disp.adb, system-vxworks-ppc.ads, exp_ch6.adb: Minor
reformatting.

From-SVN: r189770

12 years agotrans.c: (Handled_Sequence_Of_Statements_to_gnu): Set location on TRY_CATCH_EXPR.
Tristan Gingold [Mon, 23 Jul 2012 07:26:41 +0000 (07:26 +0000)]
trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set location on TRY_CATCH_EXPR.

2012-07-23  Tristan Gingold  <gingold@adacore.com>

* gcc-interface/trans.c: (Handled_Sequence_Of_Statements_to_gnu): Set
location on TRY_CATCH_EXPR.

From-SVN: r189769

12 years agoi386.c (ix86_avoid_lea_for_addr): Prevent zero-extended addresses here ...
Uros Bizjak [Mon, 23 Jul 2012 06:50:45 +0000 (08:50 +0200)]
i386.c (ix86_avoid_lea_for_addr): Prevent zero-extended addresses here ...

* config/i386/i386.c (ix86_avoid_lea_for_addr): Prevent zero-extended addresses here ...
(ix86_avoid_lea_for_add): ... not here.

From-SVN: r189768

12 years agoruntime: correct a logic error in hashmap growth.
Ian Lance Taylor [Mon, 23 Jul 2012 03:57:28 +0000 (03:57 +0000)]
runtime: correct a logic error in hashmap growth.

The bug prevented maps to grow properly to sizes
larger than 1.3 million.

From Rémy Oudompheng.

From-SVN: r189766

12 years agoDaily bump.
GCC Administrator [Mon, 23 Jul 2012 00:17:30 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189765

12 years agosh.h (TARGET_DYNSHIFT): New macro.
Oleg Endo [Sun, 22 Jul 2012 23:38:29 +0000 (23:38 +0000)]
sh.h (TARGET_DYNSHIFT): New macro.

* config/sh/sh.h (TARGET_DYNSHIFT): New macro.
(SH_DYNAMIC_SHIFT_COST): Use it.
* config/sh/sh.c (expand_ashiftrt, shl_sext_kind): Likewise.
(sh_dynamicalize_shift_p): Add TARGET_DYNSHIFT condition.
Add sanity check for input value.  Add function description.
* config/sh/sh.md (ashlsi3, ashlsi3_std, ashrsi3_d, lshrsi3,
lshrsi3_d): Use TARGET_DYNSHIFT.

From-SVN: r189760

12 years agosh.md (negc): Delete expander.
Oleg Endo [Sun, 22 Jul 2012 23:36:01 +0000 (23:36 +0000)]
sh.md (negc): Delete expander.

* config/sh/sh.md (negc): Delete expander.
(*negc): Rename insn to negc.

From-SVN: r189759

12 years agoHandle recent changes in default atomics for cris*-*-linux*.
Hans-Peter Nilsson [Sun, 22 Jul 2012 15:45:07 +0000 (15:45 +0000)]
Handle recent changes in default atomics for cris*-*-linux*.

* gcc.target/cris/torture/sync-mis-xchg-i-1ml.c,
gcc.target/cris/torture/sync-mis-xchg-i-2ml.c,
gcc.target/cris/torture/sync-mis-xchg-i-3ml.c,
gcc.target/cris/torture/sync-mis-xchg-s-1ml.c,
gcc.target/cris/torture/sync-mis-op-i-1ml.c,
gcc.target/cris/torture/sync-mis-op-i-2ml.c,
gcc.target/cris/torture/sync-mis-op-i-3ml.c,
gcc.target/cris/torture/sync-mis-op-s-1ml.c: New tests.
* gcc.target/cris/torture/sync-mis-op-i-2a.c: Make sure
-mno-unaligned-atomic-may-use-library is in effect for
cris*-*-linux*.
* gcc.target/cris/torture/sync-mis-xchg-i-1.c,
gcc.target/cris/torture/sync-mis-xchg-i-2.c,
gcc.target/cris/torture/sync-mis-xchg-i-3.c,
gcc.target/cris/torture/sync-mis-xchg-i-2a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1.c,
gcc.target/cris/torture/sync-mis-op-i-1.c,
gcc.target/cris/torture/sync-mis-op-i-2.c,
gcc.target/cris/torture/sync-mis-op-i-1a.c,
gcc.target/cris/torture/sync-mis-op-i-3.c,
gcc.target/cris/torture/sync-mis-op-i-3a.c,
gcc.target/cris/torture/sync-mis-op-s-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-1a.c,
gcc.target/cris/torture/sync-mis-xchg-i-3a.c,
gcc.target/cris/torture/sync-mis-xchg-s-1a.c: Similar.
* gcc.target/cris/torture/sync-mis-op-s-1.c: Ditto.
(main): Remove local variable x.
[mis_ok]: Check that atomics don't fail.

From-SVN: r189757

12 years agore PR target/53961 (internal compiler error: in memory_address_length, at config...
Uros Bizjak [Sun, 22 Jul 2012 15:44:51 +0000 (17:44 +0200)]
re PR target/53961 (internal compiler error: in memory_address_length, at config/i386/i386.c:23341)

PR target/53961
* config/i386/i386.md (*lea): New insn pattern.
(*lea_1): Remove.
(*lea<mode>_2): Ditto.
(*lea_{3,4,5,6}_zext): Ditto.
* config/i386/constraints.md (j): Remove address constraint.
* config/i386/i386.c (ix86_decompose_address): Allow SImode subreg
of an address.
(ix86_print_operand_address): Handle SImode subreg of an address.
(ix86_avoid_lea_for_add): Reject zero-extended addresses for now.

From-SVN: r189756

12 years agoEmit executable-stack note correctly for CRIS targets.
Hans-Peter Nilsson [Sun, 22 Jul 2012 14:55:38 +0000 (14:55 +0000)]
Emit executable-stack note correctly for CRIS targets.

* config/cris/cris.c (cris_file_end): New function.
(TARGET_ASM_FILE_END): Define.

From-SVN: r189755

12 years agoNetLogic Microsystems Inc.
Chung-Lin Tang [Sun, 22 Jul 2012 07:05:28 +0000 (07:05 +0000)]
NetLogic Microsystems Inc.

2012-07-22  Chung-Lin Tang  <cltang@codesourcery.com>
    Maxim Kuvyrkov  <maxim@codesourcery.com>
    NetLogic Microsystems Inc.

* config/mips/mips.c (mips_issue_rate): Handle XLP.
* config/mips/mips.md: Include xlp.md.
* config/mips/xlp.md: New file.

Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
From-SVN: r189754

12 years agovrp72.c: New test.
Andrew Pinski [Sun, 22 Jul 2012 05:55:47 +0000 (05:55 +0000)]
vrp72.c: New test.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

*  gcc.dg/tree-ssa/vrp72.c: New test.
*  gcc.dg/tree-ssa/vrp73.c: New test.
*  gcc.dg/tree-ssa/vrp74.c: New test.
*  gcc.dg/tree-ssa/vrp75.c: New test.

From-SVN: r189753

12 years agoalias-21.c: New testcase.
Andrew Pinski [Sun, 22 Jul 2012 05:32:16 +0000 (05:32 +0000)]
alias-21.c: New testcase.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

* gcc.dg/tree-ssa/alias-21.c: New testcase.
* gcc.dg/tree-ssa/alias-22.c: New testcase.

From-SVN: r189752

12 years agoDaily bump.
GCC Administrator [Sun, 22 Jul 2012 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r189751

12 years agore PR gcov-profile/32543 (Gcov: profile.c total_num_edges_instrumented never incremen...
Steven Bosscher [Sat, 21 Jul 2012 23:37:02 +0000 (23:37 +0000)]
re PR gcov-profile/32543 (Gcov: profile.c total_num_edges_instrumented never incremented (patch included))

PR gcov-profile/32543
* profile.c (branch_prob): Update total_num_edges_instrumented and
report the number of edges to instrument.

From-SVN: r189748

12 years agosh.md: Correct comment regarding clrt and sett insns.
Oleg Endo [Sat, 21 Jul 2012 19:40:37 +0000 (19:40 +0000)]
sh.md: Correct comment regarding clrt and sett insns.

* config/sh/sh.md: Correct comment regarding clrt and sett insns.

From-SVN: r189747

12 years agoiso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
Tobias Burnus [Sat, 21 Jul 2012 15:37:46 +0000 (17:37 +0200)]
iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.

2012-07-21  Tobias Burnus  <burnus@net-b.de>

        * iso-c-binding.def (C_PTRDIFF_T): New TS29113 parameter.
        * intrinsic.texi (ISO_C_BINDING): Document it.

From-SVN: r189746

12 years agoFix comment typo.
Steven Bosscher [Sat, 21 Jul 2012 12:31:26 +0000 (12:31 +0000)]
Fix comment typo.

From-SVN: r189745

12 years agomips.md (*popcountdi2_trunc): New pattern to handle popcount of a truncation.
Andrew Pinski [Sat, 21 Jul 2012 11:05:04 +0000 (11:05 +0000)]
mips.md (*popcountdi2_trunc): New pattern to handle popcount of a truncation.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

* config/mips/mips.md (*popcountdi2_trunc): New pattern
to handle popcount of a truncation.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

* gcc.target/mips/octeon-pop-2.c: New testcase.

From-SVN: r189744

12 years agore PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
Tobias Burnus [Sat, 21 Jul 2012 11:02:47 +0000 (13:02 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)

2012-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * trans-intrinsic.c (gfc_conv_intrinsic_bound): Support
        lbound/ubound with dim= for assumed-rank arrays.
        * array.c (gfc_set_array_spec): Reject coarrays with
        assumed shape.
        * decl.c (merge_array_spec): Ditto. Return gfc_try.
        (match_attr_spec, match_attr_spec): Update call.

2012-07-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * gfortran.dg/assumed_rank_3.f90: New.
        * gfortran.dg/assumed_rank_11.f90: New.
        * gfortran.dg/assumed_rank_1.f90: Update dg-error.
        * gfortran.dg/assumed_rank_2.f90: Update dg-error.
        * gfortran.dg/assumed_rank_7.f90: Update dg-error.

From-SVN: r189743

12 years agomips-protos.h (mips_expand_ext_as_unaligned_load): Add a bool argument.
Andrew Pinski [Sat, 21 Jul 2012 10:38:20 +0000 (10:38 +0000)]
mips-protos.h (mips_expand_ext_as_unaligned_load): Add a bool argument.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

        * config/mips/mips-protos.h (mips_expand_ext_as_unaligned_load):
        Add a bool argument.
        * config/mips/mips.c (mips_block_move_straight): Update call to
        mips_expand_ext_as_unaligned_load.
        (mips_expand_ext_as_unaligned_load): Add unsigned_p argument.
        Accept DImode dest when the width is that of SImode.
        * config/mips/mips.md (extv): Update call to
mips_expand_ext_as_unaligned_load.
(extzv): Likewise.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

        * gcc.target/mips/unaligned-1.c: New testcase.

From-SVN: r189742

12 years agoresolve.c (resolve_formal_arglist): Put variable declaration before the first assignment.
Tobias Burnus [Sat, 21 Jul 2012 09:37:18 +0000 (11:37 +0200)]
resolve.c (resolve_formal_arglist): Put variable declaration before the first assignment.

2012-07-21  Tobias Burnus  <burnus@net-b.de>

        * resolve.c (resolve_formal_arglist): Put variable
        declaration before the first assignment.

From-SVN: r189740

12 years agotrans-expr.c (gfc_conv_derived_to_class): Fix argument passed to class_array_data_assign.
Tobias Burnus [Sat, 21 Jul 2012 09:27:04 +0000 (11:27 +0200)]
trans-expr.c (gfc_conv_derived_to_class): Fix argument passed to class_array_data_assign.

2012-07-21  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_conv_derived_to_class): Fix argument passed
        to class_array_data_assign.

From-SVN: r189739

12 years agomips.c (mips_get_unaligned_mem): Copy *op after calling adjust_address.
Andrew Pinski [Sat, 21 Jul 2012 08:39:13 +0000 (08:39 +0000)]
mips.c (mips_get_unaligned_mem): Copy *op after calling adjust_address.

2012-07-21  Andrew Pinski  <apinski@cavium.com>

* config/mips/mips.c (mips_get_unaligned_mem): Copy *op after calling
adjust_address.

From-SVN: r189738

12 years agoDaily bump.
GCC Administrator [Sat, 21 Jul 2012 00:17:32 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r189737

12 years agomips.md (define_attr sync_*): Move before "type".
Maxim Kuvyrkov [Sat, 21 Jul 2012 00:01:40 +0000 (00:01 +0000)]
mips.md (define_attr sync_*): Move before "type".

* config/mips/mips.md (define_attr sync_*): Move before "type".
(define_attr "type"): New values "atomic" and "syncloop".
* config/mips/sync.md (atomic_exchange<mode>, atomic_fetch_add<mode>):
Set "type" attribute.
* config/mips/generic.md (generic_atomic, generic_syncloop):
New reservations.
* gcc/config/mips/10000.md, gcc/config/mips/20kc.md,
* gcc/config/mips/24k.md, gcc/config/mips/4130.md,
        * gcc/config/mips/4k.md, gcc/config/mips/5400.md,
* gcc/config/mips/5500.md, gcc/config/mips/5k.md,
        * gcc/config/mips/7000.md, gcc/config/mips/74k.md,
* gcc/config/mips/9000.md, gcc/config/mips/loongson2ef.md,
* gcc/config/mips/loongson3a.md, gcc/config/mips/octeon.md,
* gcc/config/mips/sb1.md, gcc/config/mips/sr71k.md,
* gcc/config/mips/xlr.md: Handle "atomic" and "syncloop" types.

From-SVN: r189734

12 years ago* gcc.c-torture/execute/20101011-1.c (DO_TEST): Define as 0 for CRIS.
Hans-Peter Nilsson [Fri, 20 Jul 2012 22:25:09 +0000 (22:25 +0000)]
* gcc.c-torture/execute/20101011-1.c (DO_TEST): Define as 0 for CRIS.

From-SVN: r189733

12 years agoFix ChangeLog formatting.
Oleg Endo [Fri, 20 Jul 2012 21:38:41 +0000 (21:38 +0000)]
Fix ChangeLog formatting.

From-SVN: r189731

12 years agosh.md: Group and sort shift related patterns.
Oleg Endo [Fri, 20 Jul 2012 21:37:27 +0000 (21:37 +0000)]
sh.md: Group and sort shift related patterns.

* config/sh/sh.md: Group and sort shift related patterns.
(ashlsi3_n, *ashlhi3_n, lshrsi3_n): Remove length attributes.

From-SVN: r189730

12 years agocris.c (cris_asm_output_ident): Remove unused local variables section_asm_op, size...
Hans-Peter Nilsson [Fri, 20 Jul 2012 21:32:18 +0000 (21:32 +0000)]
cris.c (cris_asm_output_ident): Remove unused local variables section_asm_op, size, buf.

* config/cris/cris.c (cris_asm_output_ident): Remove unused
local variables section_asm_op, size, buf.

From-SVN: r189729

12 years agopower4.md (power4-store-update): Fix reservation.
Pat Haugen [Fri, 20 Jul 2012 21:31:30 +0000 (21:31 +0000)]
power4.md (power4-store-update): Fix reservation.

2012-07-20  Pat Haugen <pthaugen@us.ibm.com>
    Steven Bosscher  <steven@gcc.gnu.org>
* config/rs6000/power4.md (power4-store-update): Fix reservation.
(power4-three): Likewise.

Co-Authored-By: Steven Bosscher <steven@gcc.gnu.org>
From-SVN: r189728

12 years agodecl.c (gfc_verify_c_interop_param): Allow assumed-shape with -std=f2008ts.
Tobias Burnus [Fri, 20 Jul 2012 20:15:59 +0000 (22:15 +0200)]
decl.c (gfc_verify_c_interop_param): Allow assumed-shape with -std=f2008ts.

2012-07-20  Tobias Burnus  <burnus@net-b.de>

        * decl.c (gfc_verify_c_interop_param): Allow assumed-shape
        with -std=f2008ts.

2012-07-20  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/bind_c_array_params_2.f90: New.
        * gfortran.dg/bind_c_array_params.f03: Add -std=f2003
        and update dg-error.

From-SVN: r189726

12 years agoassumed_rank_12.f90: Update dg-error.
Tobias Burnus [Fri, 20 Jul 2012 20:05:50 +0000 (22:05 +0200)]
assumed_rank_12.f90: Update dg-error.

2012-07-20  Tobias Burnus  <burnus@net-b.de>

        * gfortran.dg/assumed_rank_12.f90: Update dg-error.

From-SVN: r189725

12 years agoarm.c (arm_cortex_a15_tune): New tune.
Sameera Deshpande [Fri, 20 Jul 2012 17:12:03 +0000 (22:42 +0530)]
arm.c (arm_cortex_a15_tune): New tune.

gcc/

2012-07-20  Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm.c (arm_cortex_a15_tune): New tune.
        * config/arm/arm-cores.def (cortex-a15): Use it.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r189723

12 years agoarm-protos.h (tune_params): Add prefer_ldrd_strd.
Sameera Deshpande [Fri, 20 Jul 2012 17:07:33 +0000 (22:37 +0530)]
arm-protos.h (tune_params): Add prefer_ldrd_strd.

gcc/

2012-07-20  Sameera Deshpande  <sameera.deshpande@arm.com>
            Greta Yorsh  <Greta.Yorsh@arm.com>

        * config/arm/arm-protos.h (tune_params): Add prefer_ldrd_strd.
        * config/arm/arm.c (arm_slowmul_tune): Initialize it.
        (arm_fastmul_tune, arm_strongarm_tune): Likewise.
        (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune): Likewise.
        (arm_cortex_tune, arm_cortex_a5_tune, arm_cortex_a9_tune): Likewise.
        (arm_fa726te_tune): Likewise.

Co-Authored-By: Greta Yorsh <greta.yorsh@arm.com>
From-SVN: r189722

12 years agore PR c++/54038 (finalize_type_size enters infinite loop becasue TYPE_NEXT_VARIANT...
Jason Merrill [Fri, 20 Jul 2012 16:11:42 +0000 (12:11 -0400)]
re PR c++/54038 (finalize_type_size enters infinite loop becasue TYPE_NEXT_VARIANT (variant) == variant)

PR c++/54038
* tree.c (build_cplus_array_type): Use build_cplus_array_type to build
canonical array type rather than mess with its TYPE_*_VARIANT.

From-SVN: r189719

12 years agotree-dfa.c (collect_dfa_stats): Simplify.
Richard Guenther [Fri, 20 Jul 2012 12:56:41 +0000 (12:56 +0000)]
tree-dfa.c (collect_dfa_stats): Simplify.

2012-07-20  Richard Guenther  <rguenther@suse.de>

* tree-dfa.c (collect_dfa_stats): Simplify.
* tree-ssa-structalias.c (compute_may_aliases): Do not dump
referenced vars.
* cfgexpand.c (estimated_stack_frame_size): Walk over local
decls instead of referenced vars.
* tree-ssa.c (delete_tree_ssa): Simplify.
* tree-tailcall.c (find_tail_calls): Walk over local decls
instead of referenced vars.
(add_virtual_phis): Remove.
(tree_optimize_tail_calls_1): Instead mark the virtual operand
for renaming.

From-SVN: r189718

12 years agobasic-block.h (BB_FLAGS_TO_PRESERVE): New define.
Steven Bosscher [Fri, 20 Jul 2012 12:25:55 +0000 (12:25 +0000)]
basic-block.h (BB_FLAGS_TO_PRESERVE): New define.

gcc/
* basic-block.h (BB_FLAGS_TO_PRESERVE): New define.
(brief_dump_cfg): Update prototype to take flags argument.
(check_bb_profile): Remove prototype.
* tracer.c (tracer): Update brief_dump_cfg calls.
* cfghooks.c (dump_bb): Do not pass TDF_COMMENT to dump_bb_info.
Call dump_bb_info before and after the cfghook dump_bb.  Terminate
the dump with a newline.
(dump_flow_info): Do not call check_bb_profile.
* cfg.c (clear_bb_flags): Update using BB_FLAGS_TO_PRESERVE.
(check_bb_profile): Make static.  Take indent and flags arguments.
(dump_bb_info): Always dump loop depth.  With TDF_DETAILS, call
check_bb_profile.  Print one edge per line.
(brief_dump_cfg): Take a flags argument, and filter out
TDF_COMMENT and TDF_DETAILS.
* pretty-print.c (pp_base_newline): Set pp_needs_newline to false.
* gimple-pretty-print.c (dump_gimple_bb_header): Do not use dump_bb_info
here, it is already called from dump_bb.  Idem for check_bb_profile.
(dump_gimple_bb_footer): Likewise.
(gimple_dump_bb_buff): Call pp_flush after dump_gimple_stmt to
avoid broken dumps for statement histograms.
(gimple_dump_bb): Handle ENTRY_BLOCK and EXIT_BLOCK.  Do
not call pp_flush here, the buffer should be empty.
* sched-rgn.c (debug_region): Pass TDF_BLOCKS to dump_bb.
* sched-vis.c (debug_bb_slim): Likewise.
* tree-cfg.c (remove_bb): Pass dump_flags to dump_bb.
(gimple_debug_bb): Pass TDF_BLOCKS to dump_bb.
(gimple_dump_cfg): Do brief_dump_cfg with TDF_COMMENT.
(dump_function_to_file): Do not call check_bb_profile on
ENTRY_BLOCK and EXIT_BLOCK, check_bb_profile doesn't handle them.
Use dump_bb instead of gimple_dump_bb.
(print_loops_bb): Use dump_bb instead of gimple_dump_bb.
* passes.c (execute_function_dump): Always call print_rtl_with_bb
for RTL dumps.
* cfgrtl.c (print_rtl_with_bb): Handle printing without an up-to-date
CFG.  With TDF_BLOCKS and TDF_DETAILS, do DF dumps at the top and bottom
of each basic block.

testsuite/
* gcc.dg/tree-prof/update-loopch.c: Look for counts on the dumps of
the basic block and check loop depth.
* gcc.dg/tree-ssa/pr18133-1.c: Dump details, not blocks.  Update
matching patterns and comments.
* gcc.dg/tree-ssa/20031021-1.c: Fix check patterns.
* gcc.dg/tree-ssa/vector-2.c: Likewise.

From-SVN: r189717

12 years agore PR tree-optimization/54031 (Revision 189607 miscompiles Linux kernel)
Richard Guenther [Fri, 20 Jul 2012 11:24:55 +0000 (11:24 +0000)]
re PR tree-optimization/54031 (Revision 189607 miscompiles Linux kernel)

2012-07-20  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/54031
* tree-ssa-ccp.c (get_value_from_alignment): Use
get_pointer_alignment_1.

From-SVN: r189715

12 years agotree-inline.c (add_local_variables): Remove check_var_ann parameter and dead code.
Richard Guenther [Fri, 20 Jul 2012 09:59:55 +0000 (09:59 +0000)]
tree-inline.c (add_local_variables): Remove check_var_ann parameter and dead code.

2012-07-20  Richard Guenther  <rguenther@suse.de>

* tree-inline.c (add_local_variables): Remove check_var_ann
parameter and dead code.
(expand_call_inline): Adjust.
(tree_function_versioning): Likewise.

From-SVN: r189712

12 years agore PR libstdc++/54025 (atomic<chrono::duration> won't compile: chrono::duration:...
Chip Salzenberg [Fri, 20 Jul 2012 09:48:57 +0000 (09:48 +0000)]
re PR libstdc++/54025 (atomic<chrono::duration> won't compile: chrono::duration::duration() is not C++11 compliant)

2012-07-20  Chip Salzenberg  <chip@pobox.com>
    Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/54025
* include/std/chrono (duration<>::duration): Fix per C++11.
* testsuite/20_util/duration/cons/54025.cc: New.
* testsuite/20_util/duration/cons/constexpr.cc: Adjust.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r189711

12 years agoadl.cc: Add missing dg-requires.
Paolo Carlini [Fri, 20 Jul 2012 09:44:15 +0000 (09:44 +0000)]
adl.cc: Add missing dg-requires.

2012-07-20  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/30_threads/thread/adl.cc: Add missing dg-requires.

From-SVN: r189709

12 years agore PR c++/28656 (duplicated null argument warning on memcpy())
Jakub Jelinek [Fri, 20 Jul 2012 09:37:25 +0000 (11:37 +0200)]
re PR c++/28656 (duplicated null argument warning on memcpy())

PR c++/28656
* tree-vrp.c (nonnull_arg_p): Handle all nonnull attributes instead
of just the first one.

* c-common.c (check_function_nonnull): Handle multiple nonnull
attributes properly.

* c-c++-common/pr28656.c: New test.

From-SVN: r189707

12 years agobuiltins.c (get_object_alignment_2): Correct offset handling when using type alignmen...
Richard Guenther [Fri, 20 Jul 2012 08:31:26 +0000 (08:31 +0000)]
builtins.c (get_object_alignment_2): Correct offset handling when using type alignment of a MEM_REF kind base.

2012-07-20  Richard Guenther  <rguenther@suse.de>

* builtins.c (get_object_alignment_2): Correct offset handling
when using type alignment of a MEM_REF kind base.

From-SVN: r189704

12 years agore PR target/53877 (__lzcnt_u16/__lzcnt_u32/__lzcnt_u64 aren't implemented)
Kirill Yukhin [Fri, 20 Jul 2012 08:24:24 +0000 (08:24 +0000)]
re PR target/53877 (__lzcnt_u16/__lzcnt_u32/__lzcnt_u64 aren't implemented)

2012-07-20  Kirill Yukhin  <kirill.yukhin@intel.com>

        PR target/53877
        * config/i386/lzcntintrin.h (_lzcnt_u32): New.
        (_lzcnt_u64): Ditto.

From-SVN: r189703

12 years agore PR c++/54026 (template const struct with mutable members erroneously emitted to...
Jason Merrill [Fri, 20 Jul 2012 06:29:13 +0000 (02:29 -0400)]
re PR c++/54026 (template const struct with mutable members erroneously emitted to .rodata)

PR c++/54026
* typeck.c (cp_apply_type_quals_to_decl): Check COMPLETE_TYPE_P.

From-SVN: r189701

12 years agore PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)
Tobias Burnus [Fri, 20 Jul 2012 05:56:37 +0000 (07:56 +0200)]
re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)

2012-07-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * array.c (match_array_element_spec, gfc_match_array_spec,
        spec_size, gfc_array_dimen_size): Add support for
        assumed-rank arrays.
        * check.c (dim_rank_check): Ditto.
        * class.c (gfc_add_component_ref): Ditto.
        (gfc_build_class_symbol): Regard assumed-rank arrays
        as having GFC_MAX_DIMENSIONS. And build extra class
        container for a scalar pointer class.
        * decl.c (merge_array_spec): Add assert.
        * dump-parse-tree.c (show_array_spec): Add support for
        assumed-rank arrays.
        * expr.c (gfc_is_simply_contiguous): Ditto.
        * gfortran.h (array_type): Ditto.
        (gfc_array_spec, gfc_expr): Add comment to "rank" field.
        * interface.c (compare_type_rank, argument_rank_mismatch,
        compare_parameter, gfc_procedure_use): Ditto.
        (compare_actual_formal): Fix NULL() to optional-dummy
        handling for polymorphic dummies.
        * module.c (mio_typespec): Add support for
        assumed-rank arrays.
        * resolve.c (resolve_formal_arglist, resolve_actual_arglist,
        resolve_elemental_actual, resolve_global_procedure,
        expression_shape, resolve_variable, update_ppc_arglist,
        check_typebound_baseobject, gfc_resolve_expr,
        resolve_fl_var_and_proc, gfc_resolve_finalizers,
        resolve_typebound_procedure, resolve_symbol): Ditto.
        (assumed_type_expr_allowed): Remove static variable.
        (actual_arg, first_actual_arg): New static variables.
        * simplify.c (simplify_bound, gfc_simplify_range): Add
        support for assumed-rank arrays.
        * trans-array.c (gfc_conv_array_parameter): Ditto.
        (gfc_get_descriptor_dimension): New function, which returns
        the descriptor.
        (gfc_conv_descriptor_dimension): Use it.
        (gfc_conv_descriptor_stride_get, gfc_conv_array_parameter):
        Handle GFC_ARRAY_ASSUMED_RANK_CONT and AS_ASSUMED_RANK.
        * trans-array.h (gfc_get_descriptor_dimension): New prototype.
        * trans-decl. (gfc_build_dummy_array_decl,
        gfc_trans_deferred_vars, add_argument_checking): Add
        support for assumed-rank arrays.
        * trans-expr.c (gfc_conv_expr_present, gfc_conv_variable,
        gfc_conv_procedure_call): Ditto.
        (get_scalar_to_descriptor_type, class_array_data_assign,
        conv_scalar_to_descriptor): New static functions.
        (gfc_conv_derived_to_class, gfc_conv_class_to_class): Use
        them.
        * trans-intrinsic.c (get_rank_from_desc): New function.
        (gfc_conv_intrinsic_rank, gfc_conv_associated): Use it.
        * trans-types.c (gfc_array_descriptor_base_caf,
        gfc_array_descriptor_base): Make space for scalar array.
        (gfc_is_nodesc_array, gfc_is_nodesc_array,
        gfc_build_array_type, gfc_get_array_descriptor_base): Add
        support for assumed-rank arrays.
        * trans.h (gfc_array_kind): Add GFC_ARRAY_ASSUMED_RANK and
        GFC_ARRAY_ASSUMED_RANK_CONT.

2012-07-20  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48820
        * gfortran.dg/assumed_type_3.f90: Update dg-error.
        * gfortran.dg/assumed_rank_1.f90: New.
        * gfortran.dg/assumed_rank_1_c.c: New.
        * gfortran.dg/assumed_rank_2.f90: New.
        * gfortran.dg/assumed_rank_4.f90: New.
        * gfortran.dg/assumed_rank_5.f90: New.
        * gfortran.dg/assumed_rank_6.f90: New.
        * gfortran.dg/assumed_rank_7.f90: New.
        * gfortran.dg/assumed_rank_8.f90: New.
        * gfortran.dg/assumed_rank_8_c.c: New.
        * gfortran.dg/assumed_rank_9.f90: New.
        * gfortran.dg/assumed_rank_10.f90: New.
        * gfortran.dg/assumed_rank_12.f90: New.

From-SVN: r189700

12 years agoDaily bump.
GCC Administrator [Fri, 20 Jul 2012 00:16:52 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r189695

12 years ago* config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.
Eric Botcazou [Thu, 19 Jul 2012 21:55:03 +0000 (21:55 +0000)]
* config/sparc/sparc.md (adddi3_insn_sp32): Add earlyclobber.

From-SVN: r189689

12 years agotree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the defining statement...
Eric Botcazou [Thu, 19 Jul 2012 21:35:12 +0000 (21:35 +0000)]
tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the defining statement is a SSA name that occurs in abnormal...

* tree-ssa-forwprop.c (combine_conversions): Punt if the RHS of the
defining statement is a SSA name that occurs in abnormal PHIs.

From-SVN: r189687

12 years agogimple-fold.c (canonicalize_constructor_val): Strip only useless type conversions.
Eric Botcazou [Thu, 19 Jul 2012 21:22:04 +0000 (21:22 +0000)]
gimple-fold.c (canonicalize_constructor_val): Strip only useless type conversions.

* gimple-fold.c (canonicalize_constructor_val): Strip only useless type
conversions.

From-SVN: r189685

12 years agodecl.c (gnat_to_gnu_entity): Try to ensure that an object of CW type initialized...
Eric Botcazou [Thu, 19 Jul 2012 21:09:53 +0000 (21:09 +0000)]
decl.c (gnat_to_gnu_entity): Try to ensure that an object of CW type initialized to a value is sufficiently...

* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Try to ensure
that an object of CW type initialized to a value is sufficiently
aligned for this value.

From-SVN: r189682

12 years agore PR rtl-optimization/53942 (unable to find a register to spill in class 'CREG')
Jakub Jelinek [Thu, 19 Jul 2012 20:48:25 +0000 (22:48 +0200)]
re PR rtl-optimization/53942 (unable to find a register to spill in class 'CREG')

PR rtl-optimization/53942
* function.c (assign_parm_setup_reg): Avoid zero/sign extension
directly from likely spilled non-fixed hard registers, move them
to pseudo first.

* gcc.dg/pr53942.c: New test.

From-SVN: r189681

12 years agomips.c (mips_set_mips16_mode): Clear SYNCI_MASK in MIPS16 mode.
Steve Ellcey [Thu, 19 Jul 2012 20:43:19 +0000 (20:43 +0000)]
mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in MIPS16 mode.

2012-07-19  Steve Ellcey  <sellcey@mips.com>

* config/mips/mips.c (mips_set_mips16_mode): Clear SYNCI_MASK in
MIPS16 mode.

From-SVN: r189680

12 years agotrans-expr.c (gfc_conv_procedure_call): Fix handling of polymorphic arguments.
Tobias Burnus [Thu, 19 Jul 2012 20:20:17 +0000 (22:20 +0200)]
trans-expr.c (gfc_conv_procedure_call): Fix handling of polymorphic arguments.

2012-07-19  Tobias Burnus  <burnus@net-b.de>

        * trans-expr.c (gfc_conv_procedure_call): Fix handling
        of polymorphic arguments.
        * resolve.c (resolve_formal_arglist): Ditto, mark polymorphic
        assumed-shape arrays as such.

From-SVN: r189678

12 years agore PR c++/54021 ([c++0x] __builtin_constant_p should be constexpr)
Jason Merrill [Thu, 19 Jul 2012 20:02:08 +0000 (16:02 -0400)]
re PR c++/54021 ([c++0x] __builtin_constant_p should be constexpr)

PR c++/54021
* call.c (build_cxx_call): Set optimize when folding
__builtin_constant_p in a constexpr function.

From-SVN: r189677

12 years agore PR debug/53235 (20120504 broke -fdebug-types-section)
Jason Merrill [Thu, 19 Jul 2012 20:01:56 +0000 (16:01 -0400)]
re PR debug/53235 (20120504 broke -fdebug-types-section)

PR debug/53235
* dwarf2out.c (generate_type_signature): Handle the case of DIE
being nested, rather than its declaration..

From-SVN: r189676

12 years agoia64: Update vector multiply pattern names; delete dot_prod
Richard Henderson [Thu, 19 Jul 2012 18:53:35 +0000 (11:53 -0700)]
ia64: Update vector multiply pattern names; delete dot_prod

With the even/odd v4hi multiply pattern names, we'll automatically
generate the same code for dot_prodv4hi.  The dot_prodv8qi pattern
was actively incorrect wrt output mode.

        * config/ia64/vect.md (smulv4hi3_highpart): New.
        (umulv4hi3_highpart): New.
        (vec_widen_smult_even_v4hi): Rename from pmpy2_even.
        (vec_widen_smult_odd_v4hi): Rename from pmpy2_odd.
        (udot_prodv8qi, sdot_prodv8qi): Remove.
        (sdot_prodv4hi, udot_prodv4hi): Remove.
        * config/ia64/ia64.c (ia64_expand_dot_prod_v8qi): Remove.
        * config/ia64/ia64-protos.h: Update.

From-SVN: r189674

12 years agoAllow divmod on UNITS_PER_WORD vectors
Richard Henderson [Thu, 19 Jul 2012 18:53:26 +0000 (11:53 -0700)]
Allow divmod on UNITS_PER_WORD vectors

        * tree-vect-patterns.c (vect_recog_divmod_pattern): Do not require
        vectors larger than UNITS_PER_WORD.

From-SVN: r189673

12 years agoFix 0 != CODE_FOR_nothing thinko
Richard Henderson [Thu, 19 Jul 2012 18:53:20 +0000 (11:53 -0700)]
Fix 0 != CODE_FOR_nothing thinko

        * expr.c (store_constructor): Initialize icode with CODE_FOR_nothing.
        * tree-vect-stmts.c (vectorizable_operation): Use LAST_INSN_CODE for
        dummy != CODE_FOR_nothing value.

From-SVN: r189672

12 years agointerface.c (compare_parameter, [...]): Fix handling of polymorphic arguments.
Tobias Burnus [Thu, 19 Jul 2012 17:39:49 +0000 (19:39 +0200)]
interface.c (compare_parameter, [...]): Fix handling of polymorphic arguments.

2012-07-19  Tobias Burnus  <burnus@net-b.de>

        * interface.c (compare_parameter, compare_actual_formal): Fix
        handling of polymorphic arguments.

From-SVN: r189669

12 years agodecl.c (gnat_to_gnu_entity): Do not look up the REP part of the base type in advance.
Eric Botcazou [Thu, 19 Jul 2012 15:44:00 +0000 (15:44 +0000)]
decl.c (gnat_to_gnu_entity): Do not look up the REP part of the base type in advance.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
look up the REP part of the base type in advance.  Deal with that of
the variant types.
(get_rep_part): Be prepared for record types with fields.

From-SVN: r189666

12 years agotm.texi.in (MODE_AFTER): Add entity as the first macro argument.
Uros Bizjak [Thu, 19 Jul 2012 14:49:01 +0000 (16:49 +0200)]
tm.texi.in (MODE_AFTER): Add entity as the first macro argument.

* doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
* doc/tm.texi: Regenerate.
* mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
* config/sh/sh.h (MODE_AFTER): Update.
* config/epiphany/epiphany.h (MODE_AFTER): Update.

From-SVN: r189665

12 years agoFix --produce_manifest flag in validate_failures.py.
Diego Novillo [Thu, 19 Jul 2012 14:35:18 +0000 (10:35 -0400)]
Fix --produce_manifest flag in validate_failures.py.

When I added the functionality to use other summary files for
reporting, I broke the generation of manifests. When sum files are
passed on, we need to use the list. Otherwise, we need to find summary
files in the build directory.

This patch factors out that logic into a new function and calls it
from both the reporting and generation routines.

Committed to trunk.

* testsuite-management/validate_failures.py (CollectSumFiles):
Rename from GetSumFiles.
(GetSumFiles): Factor out of CheckExpectedResults.
(CheckExpectedResults): Call it.
(ProduceManifest): Call it.

From-SVN: r189662

12 years agore PR middle-end/54017 (Incorrect implementation of infinite loops in OpenMP sections...
Jakub Jelinek [Thu, 19 Jul 2012 14:02:32 +0000 (16:02 +0200)]
re PR middle-end/54017 (Incorrect implementation of infinite loops in OpenMP sections leads to SIGILL)

PR middle-end/54017
* tree-cfgcleanup.c (cleanup_omp_return): Remove.
(cleanup_tree_cfg_bb): Don't call it.
* omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
handling.

* c-c++-common/gomp/pr54017.c: New test.

From-SVN: r189658

12 years agore PR target/54029 (SH: ICE in find_dead_or_set_registers)
Christian Bruel [Thu, 19 Jul 2012 11:56:09 +0000 (13:56 +0200)]
re PR target/54029 (SH: ICE in find_dead_or_set_registers)

PR target/54029
* config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.

From-SVN: r189652

12 years agotree-ssa-ccp.c (valid_lattice_transition): Clarify comment about transition from...
Richard Guenther [Thu, 19 Jul 2012 11:48:46 +0000 (11:48 +0000)]
tree-ssa-ccp.c (valid_lattice_transition): Clarify comment about transition from invariant to known bits.

2012-07-19  Richard Guenther  <rguenther@suse.de>
Eric Botcazou  <ebotcazou@adacore.com>

* tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
about transition from invariant to known bits.
(likely_value): Addresses with UNDEFINED components are
UNDEFINED.

* gnat.dg/loop_optimization11.adb: New testcase.
* gnat.dg/loop_optimization11_pkg.ads: Likewise.

Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r189650

12 years agore PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned...
Richard Guenther [Thu, 19 Jul 2012 08:48:01 +0000 (08:48 +0000)]
re PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned data)

2012-07-19  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/53970
* tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare
warning.

From-SVN: r189647

12 years agoeh_personality.cc (__gxx_personality_seh0): New function.
Tristan Gingold [Thu, 19 Jul 2012 07:29:24 +0000 (07:29 +0000)]
eh_personality.cc (__gxx_personality_seh0): New function.

libstdc++-v3/
* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
Adjust for SEH.
* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.

libobjc/
* exception.c (__gnu_objc_personality_seh0): New function.

libjava/
* libgcj.ver: Add __gcj_personality_seh0.
* exception.cc (__gcj_personality_seh0): New function.
Adjust for SEH.

libgcc/
* unwind-seh.c: New file.
* unwind-generic.h: Include windows.h for SEH.
(_Unwind_Exception): Use 6 private fields for SEH.
(_GCC_specific_handler): Declare.
* unwind-c.c (__gcc_personality_seh0): New function.
Adjust for SEH.
* config/i386/libgcc-cygming.ver: New file.
* config/i386/t-seh-eh: New file.
* config.host (x86_64-*-mingw*): Default to seh.

gcc/
* opts.c (finish_options): Handle UI_SEH.
* expr.c (build_personality_function): Handle UI_SEH.
* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
* coretypes.h (unwind_info_type): Add UI_SEH.
* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
New function.
(i386_pe_seh_init_sections): Likewise.
* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
(TARGET_ASM_INIT_SECTIONS): Define.
* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
(i386_except_unwind_info): New function.

Co-Authored-By: Richard Henderson <rth@redhat.com>
From-SVN: r189644

12 years ago* pt.c (instantiate_decl): Don't recheck substitutions.
Jason Merrill [Thu, 19 Jul 2012 01:36:58 +0000 (21:36 -0400)]
* pt.c (instantiate_decl): Don't recheck substitutions.

From-SVN: r189640

12 years agoDR 1170 PR c++/51213
Paolo Carlini [Thu, 19 Jul 2012 01:36:50 +0000 (01:36 +0000)]
DR 1170 PR c++/51213

DR 1170
PR c++/51213
* semantics.c (perform_access_checks): Add complain parm, return bool.
(perform_deferred_access_checks): Likewise.
(perform_or_defer_access_check): Likewise.
(speculative_access_check): Remove.
* call.c (enforce_access): Add complain parm, return bool.
* decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
* search.c: Adjust callers.
* cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
(FNDECL_RECHECK_ACCESS_P): New macro.
* method.c (synthesized_method_walk): Stop deferring access checks.
* pt.c (recheck_decl_substitution): New.
(instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r189639

12 years agomethod.c (process_subob_fn): Make sure no_implicit_p is non-null before trying to...
Jason Merrill [Thu, 19 Jul 2012 01:36:41 +0000 (21:36 -0400)]
method.c (process_subob_fn): Make sure no_implicit_p is non-null before trying to store through it.

* method.c (process_subob_fn): Make sure no_implicit_p is non-null
before trying to store through it.

From-SVN: r189638