1. 13 Sep, 2008 7 commits
    • re PR fortran/35770 (implicit character(s) hides type of internal function) · 858f1fa2
      2008-09-13  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/35770
      	* primary.c (gfc_match_varspec): Added missing type-spec clearing
      	after wrong implicit character typing.
      
      2008-09-13  Daniel Kraft  <d@domob.eu>
      
      	PR fortran/35770
      	* gfortran.dg/implicit_13.f90: New test.
      
      From-SVN: r140336
      Daniel Kraft committed
    • ira-color.c (conflict_allocno_vec): Delete. · f754734f
      gcc/
      	* ira-color.c (conflict_allocno_vec): Delete.
      	(update_cost_queue_elem): New structure.
      	(update_cost_queue): New variable.
      	(update_cost_queue_tail): Likewise.
      	(update_cost_queue_elems): Likewise.
      	(allocno_update_cost_check): Delete.
      	(initiate_cost_update): Allocate update_cost_queue_elems
      	instead of allocno_update_cost_check.
      	(finish_cost_update): Update the free()s accordingly.
      	(start_update_cost): New function.
      	(queue_update_cost): Likewise.
      	(get_next_update_cost): Likewise.
      	(update_copy_costs_1): Inline into...
      	(update_copy_costs): ...here.  Use a queue instead of recursive calls.
      	Use cover_class instead of ALLOCNO_COVER_CLASS (another_allocno),
      	once we've established they are equal.  Don't allocate update
      	costs if there is nothing to add to them.
      	(update_conflict_hard_regno_costs): Remove ALLOCNO and
      	DIVISOR arguments.  Use a queue instead of recursive calls;
      	process all the allocnos in the initial queue, rather than
      	a single allocno.
      	(assign_hard_reg): Use queue_update_cost instead of
      	conflict_allocno_vec.  Queue coalesced allocnos instead
      	of calling update_conflict_hard_regno_costs for each one.
      	Just call update_conflict_hard_regno_costs once for the
      	entire queue.
      	(ira_color): Remove conflict_allocno_vec handling.
      
      From-SVN: r140335
      Richard Sandiford committed
    • re PR middle-end/37500 (libstdc++ failed to compile at -O0) · 29d7f409
      	PR middle-end/37500
      	* pt.c (tsubst_decl): Do not copy DECL_STRUCT_FUNCTION pointer.
      
      From-SVN: r140334
      Jan Hubicka committed
    • thread: New. · e99a2dce
      2008-09-12  Chris Fairles <chris.fairles@gmail.com>
      	    Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/std/thread: New.
      	* include/Makefile.am: Update.
      	* include/Makefile.in: Regenerate.
      	* src/thread.cc: New.
      	* src/Makefile.am: Update.
      	* src/Makefile.in: Regenerate.
      	* acinclude.m4: Add check for nanosleep.
      	* configure.ac: Call it.
      	* configure: Regenerate.
      	* config.h.in: Likewise.
      	* config/abi/pre/gnu.ver: Add exports.
      	* doc/doxygen/user.cfg.in: Add thread header.
      	* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
      	* testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
      	* testsuite/30_threads/thread/cons/1.cc: New.
      	* testsuite/30_threads/thread/cons/2.cc: Likewise.
      	* testsuite/30_threads/thread/cons/3.cc: Likewise.
      	* testsuite/30_threads/thread/cons/4.cc: Likewise.
      	* testsuite/30_threads/thread/algorithm/1.cc: Likewise.
      	* testsuite/30_threads/thread/algorithm/2.cc: Likewise.
      	* testsuite/30_threads/thread/member/1.cc: Likewise.
      	* testsuite/30_threads/thread/member/2.cc: Likewise.
      	* testsuite/30_threads/thread/member/3.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/1.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/2.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/3.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/4.cc: Likewise.
      	* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
      	* testsuite/17_intro/headers/c++200x/all.cc: Add thread.
      	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: 
      	Add thread, condition_variable and mutex.
      
      From-SVN: r140333
      Chris Fairles committed
    • thread: New. · 46e113bf
      2008-09-12  Chris Fairles <chris.fairles@gmail.com>
      	    Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/std/thread: New.
      	* include/Makefile.am: Update.
      	* include/Makefile.in: Regenerate.
      	* src/thread.cc: New.
      	* src/Makefile.am: Update.
      	* src/Makefile.in: Regenerate.
      	* acinclude.m4: Add check for nanosleep.
      	* configure.ac: Call it.
      	* configure: Regenerate.
      	* config.h.in: Likewise.
      	* config/abi/pre/gnu.ver: Add exports.
      	* doc/doxygen/user.cfg.in: Add thread header.
      	* testsuite/lib/libstdc++.exp (check_v3_target_nanosleep): Add.
      	* testsuite/lib/dg-options.exp (dg-require-nanosleep): Add.
      	* testsuite/30_threads/thread/cons/1.cc: New.
      	* testsuite/30_threads/thread/cons/2.cc: Likewise.
      	* testsuite/30_threads/thread/cons/3.cc: Likewise.
      	* testsuite/30_threads/thread/cons/4.cc: Likewise.
      	* testsuite/30_threads/thread/algorithm/1.cc: Likewise.
      	* testsuite/30_threads/thread/algorithm/2.cc: Likewise.
      	* testsuite/30_threads/thread/member/1.cc: Likewise.
      	* testsuite/30_threads/thread/member/2.cc: Likewise.
      	* testsuite/30_threads/thread/member/3.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/1.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/2.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/3.cc: Likewise.
      	* testsuite/30_threads/thread/this_thread/4.cc: Likewise.
      	* testsuite/30_threads/headers/thread/types_std_c++0x.cc: Likewise.
      	* testsuite/30_threads/headers/thread/std_c++0x_neg.cc: Likewise.
      	* testsuite/17_intro/headers/c++200x/all.cc: Add thread.
      	* testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: 
      	Add thread, condition_variable and mutex.
      
      Co-Authored-By: Benjamin Kosnik <bkoz@redhat.com>
      
      From-SVN: r140332
      Chris Fairles committed
    • Daily bump. · 8270e800
      From-SVN: r140330
      GCC Administrator committed
  2. 12 Sep, 2008 9 commits
  3. 11 Sep, 2008 24 commits
    • pr11832.c: xfail on ia64-*-*. · 009ab56d
      	* gcc.c-torture/compile/pr11832.c: xfail on ia64-*-*.
      	* gcc.c-torture/compile/pr33009.c: Ditto.
      
      From-SVN: r140302
      Steve Ellcey committed
    • float.h (DEC_EVAL_METHOD): Correct the macro name. · 7ecb6f5b
      gcc/
      	* ginclude/float.h (DEC_EVAL_METHOD): Correct the macro name.
      gcc/testsuite
      	* gcc.dg/dfp/dec-eval-method-2.c: New test.
      
      From-SVN: r140301
      Janis Johnson committed
    • tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the… · e49a540c
      tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid entering the weaker equivalence recording.
      
      2008-09-11  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-uncprop.c (associate_equivalences_with_edges): Avoid
      	entering the weaker equivalence recording.
      
      	* tree-ssa-phiprop.c (propagate_with_phi): Fix tuplification.
      
      From-SVN: r140300
      Richard Guenther committed
    • compat.exp, [...]: Use .exe extension for compat test executables. · d96d5d54
      	* lib/compat.exp, gcc.dg/compat/struct-layout-1.exp,
      	g++.dg/compat/struct-layout-1.exp: Use .exe extension for compat
      	test executables.
      	* gcc.dg/compat/struct-layout-1_generate.c,
      	g++.dg/compat/struct-layout-1_generate.c: Convert backslash to
      	slash in srcdir for dg-options string.
      
      From-SVN: r140299
      Joseph Myers committed
    • sse5-haddX.c, [...]: Avoid intN_t types. · 716588aa
      	* gcc.target/i386/sse5-haddX.c, gcc.target/i386/sse5-hsubX.c:
      	Avoid intN_t types.
      
      From-SVN: r140298
      Joseph Myers committed
    • reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed by… · 13d7e8af
      reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed by assign_stack_local on the IRA...
      
      	* reload1.c (alter_reg): Undo the BYTE_BIG_ENDIAN correction performed
      	by assign_stack_local on the IRA path for stack slot sharing as well
      	as the non-IRA path.
      
      From-SVN: r140295
      Jeff Law committed
    • i386.h: Fix whitespace issues. · 4ae8027b
      	* config/i386/i386.h: Fix whitespace issues.
      
      From-SVN: r140294
      Uros Bizjak committed
    • ipa-prop.h (struct ipa_param_flags): Removed. · f8e2a1ed
      2008-09-11  Martin Jambor  <mjambor@suse.cz>
      
      	* ipa-prop.h (struct ipa_param_flags): Removed.
      	(struct ipa_param_descriptor): New structure.
      	(struct ipa_node_params): ipcp_lattices, param_decls and
      	param_flags moved to ipa_param_description.
      	(ipa_get_ith_param): Renamed to ipa_get_param, changed to access
      	descriptors.  Renamed all users.
      	(ipa_is_ith_param_modified): Renamed to ipa_is_param_modified,
      	changed to access descriptors.  Renamed all users.
      	(ipa_is_ith_param_called): Renamed to ipa_is_param_called, changed
      	to access descriptors. Renamed all users.
      	* ipa-cp.c (ipcp_init_cloned_node): Call
      	ipa_initialize_node_params instead of ipa_count_formal_params and
      	ipa_create_param_decls_array.
      	(ipcp_analyze_node): Likewise.
      	(ipcp_get_ith_lattice): Renamed to ipcp_get_lattice, changed to access
      	descriptors.  Renamed all users.
      	(ipcp_initialize_node_lattices): Remove allocation.
      	* ipa-inline.c (inline_indirect_intraprocedural_analysis): Call
      	ipa_initialize_node_params instead of ipa_count_formal_params and
      	ipa_create_param_decls_array.
      	* ipa-prop.c (ipa_create_param_decls_array): Renamed to
      	ipa_populate_param_decls, made static, added parameter info,
      	renamed mt to node, removed allocation, changed to use
      	descriptors.
      	(ipa_count_formal_params): Made static, added parameter info,
      	renamed mt to node.
      	(ipa_initialize_node_params): New function.
      	(ipa_check_stmt_modifications): Changed to use descriptors.
      	(ipa_detect_param_modifications): Removed allocation, changed to
      	use descriptors.
      	(ipa_note_param_call): Changed to use descriptors.
      	(ipa_analyze_params_uses): Removed allocation.
      	(ipa_free_node_params_substructures): Changed to use descriptors.
      	(ipa_edge_duplication_hook): Use the unused attribute.
      	(ipa_node_duplication_hook): Use the unused attribute, changed to
      	use descriptors, changed to duplicate descriptors.
      
      	* ipa-inline.c (cgraph_mark_inline_edge): New parameter new_edges,
      	changed all callers.  Call ipa_propagate_indirect_call_infos if doing
      	indirect inlining.  Made static.
              (cgraph_decide_inlining): Freeing ipa-prop structures after inlining
      	functions called only once.
      	(cgraph_decide_recursive_inlining): Don't call
      	ipa_propagate_indirect_call_infos, pass new_edges to
      	cgraph_mark_inline_edge instead.
      	(cgraph_decide_inlining_of_small_functions): Don't call
      	ipa_propagate_indirect_call_infos, pass new_edges to
      	cgraph_mark_inline_edge instead.
      	(cgraph_decide_inlining): Don't call
      	ipa_propagate_indirect_call_infos.
      	* ipa-prop.c: Check that vectors are allocated.
      
      	* ipa-inline.c (cgraph_mark_inline_edge): Returns boolean, true
      	iff a new cgraph edges have been created.
      	(cgraph_decide_inlining): New variable redo_always_inline.
      	Flattening and always_inlining loop until callgraph stabilizes.
      	* ipa-prop.c (update_call_notes_after_inlining): Returns boolean,
      	true iff new cgraph edges have been created.
      	(propagate_info_to_inlined_callees): Likewise.
      	(ipa_propagate_indirect_call_infos): Likewise.
      
      From-SVN: r140293
      Martin Jambor committed
    • tree-vectorizer.c (slpeel_add_loop_guard): Fix types. · 420da8ca
      2008-09-11  Richard Guenther  <rguenther@suse.de>
      
      	* tree-vectorizer.c (slpeel_add_loop_guard): Fix types.
      	(set_prologue_iterations): Likewise.
      	* tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
      	Likewise.
      	(vect_update_init_of_dr): Likewise.
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Fix
      	type verification.
      	* fold-const.c (fold_unary): Do not generate calculations
      	in sub-types.
      
      From-SVN: r140291
      Richard Guenther committed
    • dojump.c (do_jump): Move below. · 30821654
      2008-09-11  Paolo Bonzini  <bonzini@gnu.org>
      
      	* dojump.c (do_jump) [BIT_AND_EXPR]: Move below.  Fall through to
      	TRUTH_AND_EXPR for boolean (1-bit precision) expressions.
      	(do_jump) [BIT_IOR_EXPR]: Compile as TRUTH_OR_EXPR.
      
      	* tree-flow.h (simplify_stmt_using_ranges): Accept a GSI, return a bool.
      	* tree-ssa-propagate.c (substitute_and_fold): Pass a GSI to
      	VRP's simplify_stmt_using_ranges.  Do simplify_stmt_using_ranges
      	before finalizing the changes.
      	* tree-vrp.c (extract_range_from_binary_expr): Add limited support
      	for BIT_IOR_EXPR.
      	(simplify_truth_ops_using_ranges): New.
      	(simplify_div_or_mod_using_ranges, simplify_abs_using_ranges,
      	simplify_cond_using_ranges, simplify_switch_using_ranges): Return
      	whether a simplification was made.
      	(simplify_stmt_using_ranges): Ditto, and accept a GSI.  For GS_ASSIGN,
      	use a switch statement and also call simplify_truth_ops_using_ranges.
      
      testsuite:
      2008-09-11  Paolo Bonzini  <bonzini@gnu.org>
      
      	* gcc.dg/tree-ssa/vrp47.c: New.
      	* gcc.target/i386/andor-2.c: New.
      
      From-SVN: r140288
      Paolo Bonzini committed
    • ggc-common.c (loc_array): Make static. · cf975747
      	* ggc-common.c (loc_array): Make static.
      	* dce.c (rest_of_handle_ud_dce): Free worklist.
      
      From-SVN: r140286
      Jan Hubicka committed
    • cgraph.c (cgraph_release_function_body): Plug memory leak on ipa_transforms_to_apply and CFG... · 936fc9ba
      
      	* cgraph.c (cgraph_release_function_body): Plug memory leak on
      	ipa_transforms_to_apply and CFG; ggc_free gimple df and struct function
      	so we are sure we do not dangle it forever.
      	* function.c (outer_function_chain, find_function_data): Remove.
      	(function_context_stack): New.
      	(push_function_context, pop_function_context): Update.
      	* function.h (struct function): Remove pointer outer.
      	(outer_function_chain, find_function_data): Remove.
      	* stmt.c (force_label_rtx): Remove dead call of find_function_data.
      
      From-SVN: r140285
      Jan Hubicka committed
    • re PR middle-end/37448 (cannot compile big function) · b1d0a338
      
      	PR middle-end/37448
      	* cgraph.c (cgraph_create_edge): Use !cgraph_edge for sanity check.
      
      From-SVN: r140284
      Jan Hubicka committed
    • * tree-ssa-pre.c (phi_translate_1): Fix memory leak · 9e504cda
      From-SVN: r140283
      Jan Hubicka committed
    • tree-ssa.c (redirect_edge_var_map_clear): Fix formatting. · a97a7ae9
      	* tree-ssa.c (redirect_edge_var_map_clear): Fix formatting.
      	(free_var_map_entry): New function.
      	(redirect_edge_var_map_destroy): Use it.
      
      From-SVN: r140282
      Jan Hubicka committed
    • re PR middle-end/37448 (cannot compile big function) · 4a283090
      	PR middle-end/37448
      	* tree-inline.c (add_lexical_block): Replace with ...
      	(prepend_lexical_block): ... prepend at begginig.
      	(remap_blocks): Use it and reverse later.
      	(expand_call_inline): Use prepend_lexical_block.
      
      From-SVN: r140281
      Jan Hubicka committed
    • * gimplify.c (pop_gimplify_context): Free bind_expr_stack. · a856e96f
      From-SVN: r140280
      Jan Hubicka committed
    • function.c (free_after_compilation): Call insn_locators_free. · 825b2fe7
      
      	* function.c (free_after_compilation): Call insn_locators_free.
      	* cfglayout.c (insn_locators_free): New function.
      	* rtl.h (insn_locators_free): Declare.
      
      From-SVN: r140279
      Jan Hubicka committed
    • ifcvt.c (check_cond_move_block): Make regs argument pointer to vector pointer. · 11e0edad
      	* ifcvt.c (check_cond_move_block): Make regs argument pointer to vector pointer.
      	(cond_move_process_if_block): Update call.
      
      From-SVN: r140278
      Jan Hubicka committed
    • toplev.c (dump_memory_report): Call dump_vec_loc_statistics. · d3492572
      	* toplev.c (dump_memory_report): Call dump_vec_loc_statistics.
      	* vec.c: Include hashtab.h
      	(vec_descriptor, ptr_hash_entry): New structures.
      	(vec_desc_hash, vec_ptr_map): New static variables.
      	(hash_descriptor, eq_descriptor, hash_ptr, eq_ptr, vec_descriptor,
      	register_overhead, free_overhead, vec_heap_free): New functions.
      	(vec_gc_o_reserve_1): ggc_free when resizing to 0.
      	(vec_heap_o_reserve_1): free when resizing to 0; add statistics.
      	(cmp_statistic, add_statistics, dump_vec_loc_statistics): New functions.
      
      From-SVN: r140277
      Jan Hubicka committed
    • re PR tree-optimization/37474 (vect_supported_slp_permutation_p memory corruption) · 3c9dbe18
      	PR tree-optimization/37474
      	* tree-vect-analyze.c (vect_supported_load_permutation_p): Check the
      	length of load permutation.
      
      From-SVN: r140276
      Ira Rosen committed
    • * config/m68k/m68k.h (IRA_COVER_CLASSES): Define. · 5e9bd142
      From-SVN: r140275
      Andreas Schwab committed
    • xgot-1.c: Add -mcpu=5206 to select a ColdFire target. · a64057fc
      * gcc.target/m68k/xgot-1.c: Add -mcpu=5206 to select a ColdFire
      target.
      
      From-SVN: r140272
      Andreas Schwab committed