Peter O'Gorman [Fri, 26 Sep 2008 16:21:02 +0000 (16:21 +0000)]
libtool.m4: Update to libtool 2.2.6.
* libtool.m4: Update to libtool 2.2.6.
* lt~obsolete.m4: Update to libtool 2.2.6.
* ltmain.sh: Update to libtool 2.2.6.
* ltsugar.m4: Update to libtool 2.2.6.
* ltversion.m4: Update to libtool 2.2.6.
* ltoptions.m4: Update to libtool 2.2.6.
* ltgcc.m4: Update to match changes from libtool 2.2.6.
Pat Haugen [Fri, 26 Sep 2008 14:31:57 +0000 (14:31 +0000)]
rs6000.c (rs6000_emit_allocate_stack): Use correct alias set on MEM when saving stack pointer.
2008-09-26 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Use correct
alias set on MEM when saving stack pointer.
* config/rs6000/rs6000.md (allocate_stack): Likewise
re PR tree-optimization/37574 (ICE with the vectorizer and GC)
PR tree-optimization/37574
* tree-vectorizer.c (vect_is_simple_use): Fix indentation.
* tree-vect-transform.c (vect_get_constant_vectors): Use vectype
instead of vector_type for constants. Take computation out of loop.
(vect_get_vec_def_for_operand): Use only vectype for constant case,
and use only vector_type for invariant case.
(get_initial_def_for_reduction): Use vectype instead of vector_type.
Vladimir Makarov [Fri, 26 Sep 2008 00:43:11 +0000 (00:43 +0000)]
re PR middle-end/37535 (gcc/libgcc2.c:404: internal compiler error: Floating point exception)
2008-09-25 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/37535
* ira-lives.c (mark_reg_live, mark_reg_dead): New functions.
(mark_ref_live, mark_ref_dead): Use them.
(def_conflicts_with_inputs_p): Remove.
(mark_early_clobbers): New function.
(process_bb_node_lives): Call preprocess_constraints and
mark_early_clobbers.
* doc/rtx.texi (clobber): Change how RA deals with clobbers.
Martin Jambor [Thu, 25 Sep 2008 09:53:42 +0000 (11:53 +0200)]
cgraph.c (free_nodes): New variable.
2008-09-25 Martin Jambor <mjambor@suse.cz>
* cgraph.c (free_nodes): New variable.
(NEXT_FREE_NODE): New macro.
(cgraph_create_node): Reuse nodes from the free list. Do not
update uid if doing so.
(cgraph_remove_node): Add the node to the free list.
Chris Fairles [Tue, 23 Sep 2008 17:34:29 +0000 (17:34 +0000)]
chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined...
2008-09-23 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/chrono: If _GLIBCXX_USE_MONOTONIC_CLOCK is defined, don't
typedef monotonic_clock to system_clock and instead declare new class.
* src/chrono.cc: Conditionally define monotonic_clock::now().
* include/std/condition_variable (wait_until): Throw exception if
__gthread_cond_timedwait returns with error other than timed_out. Use
system_clock as known clock type (__clock_t) and add overloads for known
and unknown clocks. In the unknown case, sync to the known clock.
Implement overload taking a predicate.
(wait_for): Implement overload taking a predicate.
* config/abi/pre/gnu.ver: Add exports for monotonic_clock.
* testsuite/30_threads/condition_variable_any/cons/assign_neg.cc: Modify
line numbers.
* testsuite/30_threads/condition_variable_any/cons/copy_neg.cc:
Likewise.
* testsuite/30_threads/condition_variable/cons/assign_neg.cc: Likewise.
* testsuite/30_threads/condition_variable/cons/copy_neg.cc: Likewise.
* testsuite/30_threads/condition_variable/member/1.cc: New.
* testsuite/30_threads/condition_variable/member/2.cc: Likewise.
Paolo Carlini [Tue, 23 Sep 2008 17:12:26 +0000 (17:12 +0000)]
re PR libstdc++/37624 (22_locale/num_get/get/char/10.cc)
2008-09-23 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/37624
* testsuite/22_locale/num_get/get/char/10.cc: Skip long double case
when strtold is not available.
* testsuite/22_locale/num_get/get/wchar_t/10.cc: Likewise.
Benjamin Kosnik [Tue, 23 Sep 2008 16:06:43 +0000 (16:06 +0000)]
PR libstdc++/37391 continued.
2008-09-23 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/37391 continued.
* doc/html/ext/pb_ds/assoc_examples.html: Don't use base tag,
specify full path for source file links.
* doc/html/ext/pb_ds/pq_examples.html: Same.
Daniel Kraft [Tue, 23 Sep 2008 14:26:47 +0000 (16:26 +0200)]
re PR fortran/37588 (GENERIC type-bound procedure is not resolved)
2008-09-23 Daniel Kraft <d@domob.eu>
PR fortran/37588
* gfortran.h (gfc_compare_actual_formal): Removed, made private.
(gfc_arglist_matches_symbol): New method.
* interface.c (compare_actual_formal): Made static.
(gfc_procedure_use): Use new name of compare_actual_formal.
(gfc_arglist_matches_symbol): New method.
(gfc_search_interface): Moved code partially to new
gfc_arglist_matches_symbol.
* resolve.c (resolve_typebound_generic_call): Resolve actual arglist
before checking against formal and use new gfc_arglist_matches_symbol
for checking.
(resolve_compcall): Set type-spec of generated expression.
2008-09-23 Daniel Kraft <d@domob.eu>
PR fortran/37588
* gfortran.dg/typebound_generic_4.f03: New test.
* gfortran.dg/typebound_generic_5.f03: New test.
Martin Jambor [Tue, 23 Sep 2008 13:08:15 +0000 (15:08 +0200)]
cgraph.c (cgraph_free_edge): Use sizeof(*e).
2008-09-23 Martin Jambor <mjambor@suse.cz>
* cgraph.c (cgraph_free_edge): Use sizeof(*e).
(cgraph_node_remove_callees): New temporary f. Hold the next item
in f when looping.
(cgraph_node_remove_callers): Likewise.
* ipa-prop.c (ipa_edge_removal_hook): Use ATTRIBUTE_UNUSED.
(ipa_node_removal_hook): Likewise.
* doc/gimple.texi (gimple_copy_call_skip_args): Changed to
gimple_call_copy_skip_args and moved to the gimple_call section.
* gimple.c (gimple_copy_call_skip_args): Renamed to
gimple_call_copy_skip_args. Changed al users.
Jerry DeLisle [Tue, 23 Sep 2008 03:52:19 +0000 (03:52 +0000)]
re PR fortran/37498 (Incorrect array value returned - 4.3 ABI Broken)
2008-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.org
PR fortran/37498
* trans-io.c (gfc_build_io_library_fndecls): Bump pad size.
(build_dt): Set mask bit for IOPARM_dt_f2003.
* ioparm.def: Add IOPARM_dt_f2003.
2008-09-22 Jerry DeLisle <jvdelisle@gcc.gnu.org
PR libfortran/37498
* file_pos (st_endfile): Clear memory only for libfortran 4.3 private
area.
* list_read.c (eat_separator): Only access F2003 I/O parameters if
IOPARM_DT_HAS_F2003 bit is set. (parse_real): Ditto.
(read_real): Ditto.
* read.c (read_a): Likewise. (read_a_char4): Likewise though not
strictly necessary. (read_f): Likewise.
* io.h (unit_sign_s): New enumerator to allow duplication of
st_parameter structures. (IOPARM_DT_HAS_F2003): New mask bit.
(st_parameter_43): New structure copied from 4.3 version of
st_paramater_dt private section. (st_parameter_44): New structure with
F2003 items added. (st_parameter_dt): Modified to create union of new
and old structures to allow correct memory setting for 4.3 ABI
compatibility. Bumped the pad size.
* transfer.c (read_sf): Do not use F2003 I/O memory areas unless
IOPARM_DT_HAS_F2003 bit has been set. (read_block_form): Ditto.
(formatted_transfer_scalar): Ditto. (data_transfer_init): Ditto and
add comment, fix formatting.
* write.c (write_default_char4): Likewise though not strictly necessary.
(write_utf8_char4): Ditto. (write_character): Ditto.
(write_real_g0): Ditto. (list_formatted_write_scalar): Ditto.
(nml_write_obj): Ditto. (namelist_write): Ditto.
* write_float.def (calculate_sign): Eliminate warning by including all
cases in switch. (output_float): Output only decimal point of F2003 flag
is not set.
Vladimir Makarov [Mon, 22 Sep 2008 21:28:48 +0000 (21:28 +0000)]
ira-color.c (start_allocno_priorities): Rename to setup_allocno_priorities.
2008-09-22 Vladimir Makarov <vmakarov@redhat.com>
* ira-color.c (start_allocno_priorities): Rename to
setup_allocno_priorities. Use costs and
ALLOCNO_EXCESS_PRESSURE_POINTS_NUM instead of frequencies and
range lengths. Get rid off doubles.
(ira_fast_allocations): Call start_allocno_priorities.
Richard Guenther [Mon, 22 Sep 2008 19:15:43 +0000 (19:15 +0000)]
re PR tree-optimization/37145 (XFAILs from PRE rewrite, SCCVN union optimization disabled)
2008-09-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/37145
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Re-enable
value-numbering union accesses with their offset and size only.
(visit_reference_op_load): Fix simplification of inserted conversions.
* tree-ssa-pre.c (find_or_generate_expression): Do not
recursively generate expressions if running FRE.
Andrew Haley [Mon, 22 Sep 2008 15:37:12 +0000 (15:37 +0000)]
expr.c (rules): Add new rule for gnu.java.lang.VMCPStringBuilder.toString.
2008-09-22 Andrew Haley <aph@redhat.com>
* expr.c (rules): Add new rule for
gnu.java.lang.VMCPStringBuilder.toString.
(rewrite_rule.new_classname): New field.
(maybe_rewrite_invocation): Use new_classname field instead of
DECL_CONTEXT (*method_p).
Allow rewrite_arglist to be NULL.
Janus Weil [Mon, 22 Sep 2008 11:45:02 +0000 (13:45 +0200)]
re PR fortran/37486 (alignment of data in COMMON blocks)
2008-09-22 Janus Weil <janus@gcc.gnu.org>
PR fortran/37486
* gfortran.h (gfc_option_t): New members flag_align_commons and
warn_align_commons.
* lang.opt: New options falign-commons and Walign-commons.
* invoke.texi: Documentation for new options.
* options.c (gfc_init_options): Initialize new options.
(gfc_handle_options): Handle new options.
* trans-common.c (translate_common): Implement new options.
(gfc_trans_common): Set correct locus.
Ira Rosen [Mon, 22 Sep 2008 07:55:39 +0000 (07:55 +0000)]
re PR tree-optimization/37482 (definition in block 51 follows the use for SSA_NAME with -maltivec)
PR tree-optimization/37482
* tree-vectorizer.h (struct _slp_instance): Add new field.
(SLP_INSTANCE_FIRST_LOAD_STMT): New.
(get_earlier_stmt): New function.
* tree-vect-analyze.c (vect_find_first_load_in_slp_instance): New
function.
(vect_analyze_slp_instance): Set SLP_INSTANCE_FIRST_LOAD_STMT.
* tree-vect-transform.c (vect_finish_stmt_generation): Remove the
asserts that GSI points to the scalar statement being vectorized.
Set new statement location according to GSI.
(vect_schedule_slp_instance): Use GSI of
SLP_INSTANCE_FIRST_LOAD_STMT when vectorizing loads.
PR middle-end/37170
PR middle-end/37280
* final.c (mark_symbol_ref_as_used): New helper function.
(output_operand): Instead of just looking inside MEMs for
SYMBOL_REFs, use new helper function and for_each_rtx.
* varasm.c (assemble_external): Move #ifndef ASM_OUTPUT_EXTERNAL
to after weak-handling. Don't mark decls with TREE_STATIC as weak.
Make head comment more general.
* config/darwin.c (machopic_output_indirection): Handle weak
references here, like in assemble_external.
Paul Thomas [Sun, 21 Sep 2008 19:58:23 +0000 (19:58 +0000)]
re PR fortran/37583 (ICE "insert_bbt(): Duplicate key" for self-calling ENTRY subprogram)
2008-09-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37583
* decl.c (scalarize_intrinsic_call): Both subroutines and
functions can give a true for get_proc_mame's last argument so
remove the &&gfc_current_ns->proc_name->attr.function.
resolve.c (resolve_actual_arglist): Add check for recursion by
reference to procedure as actual argument.
2008-09-21 Paul Thomas <pault@gcc.gnu.org>
PR fortran/37583
* gfortran.dg/entry_18.f90: New test.
Eric Botcazou [Sun, 21 Sep 2008 19:25:48 +0000 (19:25 +0000)]
sparc-protos.h (gen_compare_operator): Declare.
* config/sparc/sparc-protos.h (gen_compare_operator): Declare.
(sparc_emit_float_lib_cmp): Change return type.
* config/sparc/sparc.c (gen_compare_reg): Add comment about TFmode.
(gen_compare_operator): New function.
(sparc_emit_float_lib_cmp): Return the new operator to be used in
the comparison sequence. Minor tweaks.
* config/sparc/sparc.md (seq, sne, sgt, slt, sge, sle): Assert
that the final operator and the result of sparc_emit_float_lib_cmp
match for software TFmode; use emit_insn in lieu of emit_jump_insn.
(beq, bne, bgt, blt, bge, ble, bunordered, bordered, bungt, bunlt,
buneq, bunge, bunle, bltgt): Assert that the final operator and the
result of sparc_emit_float_lib_cmp match for software TFmode.
(movqicc, movhicc, movsicc, movdicc): Merge into...
(mov<I:mode>cc): ...this.
(movsfcc, movdfcc, movtfcc): Merge into...
(mov<F:mode>cc): ...this.
(movqi_cc_sp64, movhi_cc_sp64, movsi_cc_sp64, movdi_cc_sp64): Merge
into...
(mov<I:mode>_cc_v9): ...this.
(movdi_cc_sp64_trunc): Delete.
(movqi_cc_reg_sp64, movhi_cc_reg_sp64, movsi_cc_reg_sp64,
movdi_cc_reg_sp64): Merge into...
(mov<I:mode>_cc_reg_sp64): ...this.
(movsf_cc_sp64): Rename into...
(movsf_cc_v9): ...this.
(movdf_cc_sp64): Rename into...
(movdf_cc_v9): ...this.
(movtf_cc_hq_sp64): Rename into...
(movtf_cc_hq_v9): ...this.
(movtf_cc_sp64): Rename into...
(movtf_cc_v9): ...this. Adjust for renaming of movdf_cc_sp64.
Daniel Kraft [Sun, 21 Sep 2008 15:33:37 +0000 (17:33 +0200)]
re PR fortran/35846 (ICE on nested character constructors)
2008-09-21 Daniel Kraft <d@domob.eu>
PR fortran/35846
* trans.h (gfc_conv_string_length): New argument `expr'.
* trans-expr.c (flatten_array_ctors_without_strlen): New method.
(gfc_conv_string_length): New argument `expr' that is used in a new
special case handling if cl->length is NULL.
(gfc_conv_subref_array_arg): Pass expr to gfc_conv_string_length.
* trans-array.c (gfc_conv_expr_descriptor): Ditto.
(gfc_trans_auto_array_allocation): Pass NULL as new expr.
(gfc_trans_g77_array), (gfc_trans_dummy_array_bias): Ditto.
(gfc_trans_deferred_array): Ditto.
(gfc_trans_array_constructor): Save and restore old values of globals
used for bounds checking.
* trans-decl.c (gfc_trans_dummy_character): Ditto.
(gfc_trans_auto_character_variable): Ditto.
2008-09-21 Daniel Kraft <d@domob.eu>
PR fortran/35846
* gfortran.dg/nested_array_constructor_1.f90: New test.
* gfortran.dg/nested_array_constructor_2.f90: New test.
* gfortran.dg/nested_array_constructor_3.f90: New test.
* gfortran.dg/nested_array_constructor_4.f90: New test.
* gfortran.dg/nested_array_constructor_5.f90: New test.
* gfortran.dg/nested_array_constructor_6.f90: New test.
Ira Rosen [Sun, 21 Sep 2008 08:36:07 +0000 (08:36 +0000)]
re PR tree-optimization/37539 (Hang for -O3)
PR tree-optimization/37539
* tree-vect-transform.c (vect_transform_strided_load): Save vector
statement in related statement field only for the first load of the
group of loads with the same data reference.
Adam Nemet [Sun, 21 Sep 2008 06:15:52 +0000 (06:15 +0000)]
mips.h (TUNE_OCTEON): New macro.
* config/mips/mips.h (TUNE_OCTEON): New macro.
* config/mips/mips.c (mips_issue_rate): Return 2 for Octeon.
(mips_multipass_dfa_lookahead): Return 2 for Octeon.
* config/mips/octeon.md: New file.
* config/mips/mips.md: Include octeon.md. Restore
semi-alphabetical order of include files.
Eric Botcazou [Sat, 20 Sep 2008 10:29:08 +0000 (10:29 +0000)]
exp_dbug.ads: Document new convention for the XVZ variable.
* exp_dbug.ads: Document new convention for the XVZ variable.
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Generate
debug info if necessary for the type padding the component type.
<E_Array_Subtype>: Likewise.
(maybe_pad_type): Emit the XVZ variable in units.
* gcc-interface/trans.c (Loop_Statement_to_gnu): Fix formatting nits.
(Subprogram_Body_to_gnu): Set the source line of the subprogram's node
on statements generated to initialize the parameter attributes cache.
Set the source line of the end label of the body on the special return
statement built for a procedure with copy-in copy-out parameters.