- 29 Apr, 2010 6 commits
-
-
2010-04-29 Brian Hackett <bhackett1024@gmail.com> * plugin.h (invoke_plugin_callbacks): New inline function. * plugin.c (flag_plugin_added): New global flag. (add_new_plugin): Initialize above flag. (invoke_plugin_callbacks): Rename to ... (invoke_plugin_callbacks_full): ... this. From-SVN: r158896
Brian Hackett committed -
(lto_varpool_replace_node): New. (lto_symtab_resolve_symbols): Resolve varpool nodes. (lto_symtab_merge_decls_1): Prefer decls with varpool node. (lto_symtab_merge_cgraph_nodes_1): Merge varpools. * cgraph.h (varpool_node_ptr): New type. (varpool_node_ptr): New vector. (varpool_node_set_def): New structure. (varpool_node_set): New type. (varpool_node_set): New vector. (varpool_node_set_element_def): New structure. (varpool_node_set_element, const_varpool_node_set_element): New types. (varpool_node_set_iterator): New type. (varpool_node): Add prev pointers, add used_from_other_partition, in_other_partition. (varpool_node_set_new, varpool_node_set_find, varpool_node_set_add, varpool_node_set_remove, dump_varpool_node_set, debug_varpool_node_set, varpool_get_node, varpool_remove_node): Declare. (vsi_end_p, vsi_next, vsi_node, vsi_start, varpool_node_in_set_p, varpool_node_set_size): New inlines. * cgraph.c (dump_cgraph_node): Dump asm names of aliases. * tree-pass.h (varpool_node_set_def): Forward declare. (ipa_opt_pass_d): Summary writting takes vnode sets too. (ipa_write_optimization_summaries): Update prototype. * ipa-cp.c (ipcp_write_summary): Update. * ipa-reference.c (ipa_reference_write_summary): Update. * lto-cgraph.c (lto_output_varpool_node): New static function. (output_varpool): New function. (input_varpool_node): New static function. (input_varpool_1): New function. (input_cgraph): Input varpool. * ipa-pure-const.c (pure_const_write_summary): Update. * lto-streamer-out.c (lto_output): Update, output varpool too. (write_global_stream): Kill WPA hack. (produce_asm_for_decls): Update. (output_alias_pair_p): Handle variables. (output_unreferenced_globals): Output only needed partition of varpool. * ipa-inline.c (inline_write_summary): Update. * lto-streamer-in.c (lto_input_tree_ref, lto_input_tree): Do not build cgraph. * lto-section-in.c (lto_section_name): Add varpool and jump funcs. * ipa.c (hash_varpool_node_set_element, eq_varpool_node_set_element, varpool_node_set_new, varpool_node_set_add, varpool_node_set_remove, varpool_node_set_find, dump_varpool_node_set, debug_varpool_node_set): New functions. * passes.c (rest_of_decl_compilation): when in LTO do not finalize. (execute_one_pass): Process new decls too. (ipa_write_summaries_2): Pass around vsets. (ipa_write_summaries_1): Likewise. (ipa_write_summaries): Build vset; be more selective about cgraph nodes to add. (ipa_write_optimization_summaries_1): Pass around vsets. (ipa_write_optimization_summaries): Likewise. * varpool.c (varpool_get_node): New. (varpool_node): Update doubly linked lists. (varpool_remove_node): New. (dump_varpool_node): More dumping. (varpool_enqueue_needed_node): Update doubly linked lists. (decide_is_variable_needed): Kill ltrans hack. (varpool_finalize_decl): Kill lto hack. (varpool_assemble_decl): Skip decls in other partitions. (varpool_assemble_pending_decls): Update doubly linkes lists. (varpool_empty_needed_queue): Likewise. (varpool_extra_name_alias): Likewise. * lto-streamer.c (lto_get_section_name): Add vars section. * lto-streamer.h (lto_section_type): Update. (output_varpool, input_varpool): Declare. * lto.c (lto_varpool_node_sets): New. (lto_1_to_1_map): Partition varpool too. (globalize_context_t, globalize_cross_file_statics, lto_scan_statics_in_ref_table, lto_scan_statics_in_cgraph_node, lto_scan_statics_in_remaining_global_vars): Remove. (lto_promote_cross_file_statics): Rewrite. (get_filename_for_set): Take vset argument. (lto_wpa_write_files): Pass around vsets. From-SVN: r158854
Jan Hubicka committed -
From-SVN: r158853
Eric Botcazou committed -
* config/i386/darwin.h (CC1_SPEC): Ignore -mdynamic-no-pic for now. Fixes stubify-1.mm on i686-apple-darwin*. From-SVN: r158852
Mike Stump committed -
* g++.dg/uninit-pred-1_b.C: Use dg-message instead of dg-excess-errors. * g++.dg/uninit-pred-2_b.C: Likewise. From-SVN: r158851
Mike Stump committed -
From-SVN: r158850
GCC Administrator committed
-
- 28 Apr, 2010 16 commits
-
-
2010-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/18918 PR fortran/43919 * simplify.c (simplify_cobound): Handle scalar coarrays. 2010-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/18918 PR fortran/43919 * gfortran.dg/coarray_11.f90: Add scalar-coarrays test case. From-SVN: r158843
Tobias Burnus committed -
lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or union type with RECORD_OR_UNION_TYPE_P predicate. * lto-streamer-in.c (unpack_ts_type_value_fields): Replace test for record or union type with RECORD_OR_UNION_TYPE_P predicate. (lto_input_ts_type_tree_pointers): Likewise. * lto-streamer-out.c (pack_ts_type_value_fields): Likewise. (lto_output_ts_type_tree_pointers): Likewise. From-SVN: r158841
Eric Botcazou committed -
2010-04-28 Matthias Klose <doko@ubuntu.com> * gcc.dg/plugin/plugin.exp: Run the plugindir tests. * gcc.dg/plugindir1.c: Move to gcc.dg/plugin/plugindir1.c. * gcc.dg/plugindir2.c: Move to gcc.dg/plugin/plugindir2.c. * gcc.dg/plugindir3.c: Move to gcc.dg/plugin/plugindir3.c. * gcc.dg/plugindir4.c: Move to gcc.dg/plugin/plugindir4.c. From-SVN: r158840
Matthias Klose committed -
From-SVN: r158839
Eric Botcazou committed -
Uniquization of constants at the Tree level * tree.h (DECL_IN_CONSTANT_POOL): New macro (tree_decl_with_vis): Add in_constant_pool bit, move shadowed_for_var_p bit to the end. (tree_output_constant_def): Declare. * gimplify.c (gimplify_init_constructor): When using block copy, uniquize the constant constructor on the RHS. * lto-streamer-in.c (unpack_ts_decl_with_vis_value_fields): Deal with DECL_IN_CONSTANT_POOL flag. * lto-streamer-out.c (pack_ts_decl_with_vis_value_fields): Likewise. * varasm.c (make_decl_rtl): Deal with variables belonging to the global constant pool. (assemble_variable): Deal with symbols belonging to the tree constant pool. (get_constant_section): Add ALIGN parameter and simplify. (build_constant_desc): Build a VAR_DECL and attach it to the symbol. (assemble_constant_contents): Use the expression of the VAR_DECL. (output_constant_def_contents): Use the alignment of the VAR_DECL. (tree_output_constant_def): New global function. (mark_constant): Use the expression of the VAR_DECL. (place_block_symbol): Use the alignment of the VAR_DECL and the size of its expression. (output_object_block): Likewise and assemble the expression. ada/ * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize constant constructors before taking their address. From-SVN: r158838
Eric Botcazou committed -
* lto-streamer.c [LTO_STREAMER_DEBUG] (tree_htab, tree_hash_entry, hash_tree, eq_tree): New tree hash table. (lto_streamer_init) [LTO_STREAMER_DEBUG]: Initialize it. [LTO_STREAMER_DEBUG] (lto_orig_address_map, lto_orig_address_get, lto_orig_address_remove): Reimplement. From-SVN: r158836
Eric Botcazou committed -
From-SVN: r158835
Xinliang David Li committed -
* config/alpha/elf.h (ASM_DECLARE_OBJECT_NAME): Use gnu_unique_object type if available. From-SVN: r158834
Uros Bizjak committed -
PR target/22224 * config/alpha/osf5.h (ASM_OUTPUT_LOCAL): Redefine. From-SVN: r158831
Rainer Orth committed -
2010-04-28 Martin Jambor <mjambor@suse.cz> * cgraph.h (struct cgraph_node): New field indirect_calls. (struct cgraph_indirect_call_info): New type. (struct cgraph_edge): Removed field indirect_call. New fields indirect_info, indirect_inlining_edge and indirect_unknown_callee. (cgraph_create_indirect_edge): Declare. (cgraph_make_edge_direct): Likewise. (enum LTO_cgraph_tags): New item LTO_cgraph_indirect_edge. * ipa-prop.h (struct ipa_param_call_note): Removed. (struct ipa_node_params): Removed field param_calls. (ipa_create_all_structures_for_iinln): Declare. * cgraph.c: Described indirect edges and uids in initial comment. (cgraph_add_edge_to_call_site_hash): New function. (cgraph_edge): Search also among the indirect edges, use cgraph_add_edge_to_call_site_hash to add edges to the call site hash. (cgraph_set_call_stmt): Possibly turn an indirect edge into a direct one, use cgraph_add_edge_to_call_site_hash to add edges to the call site hash. (initialize_inline_failed): Assign a reason to indirect edges. (cgraph_create_edge_1): New function. (cgraph_create_edge): Moved some functionality to cgraph_create_edge_1. (cgraph_create_indirect_edge): New function. (cgraph_edge_remove_callee): Add an assert checking for non-indirectness. (cgraph_edge_remove_caller): Special-case indirect edges. (cgraph_remove_edge): Likewise. (cgraph_set_edge_callee): New function. (cgraph_redirect_edge_callee): Use cgraph_set_edge_callee. (cgraph_make_edge_direct): New function. (cgraph_update_edges_for_call_stmt_node): Do nothing only when also the declaration of the call statement matches. (cgraph_node_remove_callees): Special-case indirect edges. (cgraph_clone_edge): Likewise. (cgraph_clone_node): Clone also the indirect edges. (dump_cgraph_node): Dump indirect_inlining_edge flag instead of indirect_call, dump count of indirect_calls edges. * ipa-prop.c (iinlining_processed_edges): New variable. (ipa_note_param_call): Create indirect edges instead of creating notes. New parameter node. (ipa_analyze_call_uses): New parameter node, pass it on to ipa_note_param_call. (ipa_analyze_stmt_uses): Likewise. (ipa_analyze_params_uses): Pass node to ipa_analyze_stmt_uses. (print_edge_addition_message): Work on edges rather than on notes. (update_call_notes_after_inlining): Likewise, renamed to update_indirect_edges_after_inlining. (ipa_create_all_structures_for_iinln): New function. (ipa_free_node_params_substructures): Do not free notes. (ipa_edge_duplication_hook): Propagate bits within iinlining_processed_edges bitmap. (ipa_node_duplication_hook): Do not duplicate notes. (free_all_ipa_structures_after_ipa_cp): Renamed to ipa_free_all_structures_after_ipa_cp. (free_all_ipa_structures_after_iinln): Renamed to ipa_free_all_structures_after_iinln.g (ipa_write_param_call_note): Removed. (ipa_read_param_call_note): Removed. (ipa_write_indirect_edge_info): New function. (ipa_read_indirect_edge_info): Likewise. (ipa_write_node_info): Do not stream notes, do stream information in indirect edges. (ipa_read_node_info): Likewise. (lto_ipa_fixup_call_notes): Removed. * ipa-cp.c (pass_ipa_cp): Set stmt_fixup to NULL. * ipa-inline.c (pass_ipa_inline): Likewise. * cgraphunit.c (verify_cgraph_node): Check also indirect edges. * cif-code.def (INDIRECT_UNKNOWN_CALL): New reason. * tree-inline.c (copy_bb): Removed an unnecessary double check for is_gimple_call. * tree-inline.c (get_indirect_callee_fndecl): Do not consider indirect edges. * lto-cgraph.c (output_outgoing_cgraph_edges): New function. (output_cgraph): Stream also indirect edges. (lto_output_edge): Added capability to stream indirect edges. (input_edge): Likewise. (input_cgraph_1): Likewise. * testsuite/gcc.dg/lto/20091209-1_0.c: New testcase. From-SVN: r158827
Martin Jambor committed -
2010-04-28 Richard Guenther <rguenther@suse.de> PR tree-optimization/43879 PR tree-optimization/43909 * tree-ssa-structalias.c (struct variable_info): Add only_restrict_pointers flag. (new_var_info): Initialize it. Increment stats.total_vars here. (create_function_info_for): Do not increment stats.total_vars here. (get_function_part_constraint): Fix build with C++. (insert_into_field_list): Remove. (push_fields_onto_fieldstack): Properly merge fields. (create_variable_info_for): Split and simplify. (create_variable_info_for_1): New piece. (intra_create_variable_infos): Properly make restrict constraints from parameters. * gcc.dg/ipa/ipa-pta-14.c: Adjust. From-SVN: r158825
Richard Guenther committed -
2010-04-28 Richard Guenther <rguenther@suse.de> PR c++/43880 * tree-inline.c (copy_bind_expr): Also copy bind expr vars value-exprs. * g++.dg/torture/pr43880.C: New testcase. From-SVN: r158824
Richard Guenther committed -
2010-04-28 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/9335 cp/ * error.c (print_instantiation_partial_context_line): Handle recursive instantiation. (print_instantiation_partial_context): Likewise. testsuite/ * g++.dg/template/recurse2.C: Update * g++.dg/template/recurse.C: Update. * g++.dg/template/pr23510.C: Update. * lib/prune.exp: Filter out 'recursively instantiated'. From-SVN: r158823
Manuel López-Ibáñez committed -
From-SVN: r158822
Jason Merrill committed -
From-SVN: r158821
GCC Administrator committed -
PR c++/29043 * init.c (perform_member_init): check for uninitialized const or reference members, including array types. From-SVN: r158817
Fabien Chêne committed
-
- 27 Apr, 2010 18 commits
-
-
2010-04-27 Jonathan Wakely <jwakely.gcc@gmail.com> PR libstdc++/43865 * include/c_global/cstdlib (abort, exit): _GLIBCXX_NORETURN typo. From-SVN: r158812
Jonathan Wakely committed -
From-SVN: r158811
Eric Botcazou committed -
* tree.c (get_fns): Split out from get_first_fn. * cp-tree.h: Declare it. * search.c (shared_member_p): Use it. * semantics.c (finish_qualified_id_expr): Simplify. (finish_id_expression): Simplify. From-SVN: r158810
Jason Merrill committed -
* semantics.c (finish_non_static_data_member): Call maybe_dummy_object whenever object is NULL_TREE. Don't do 'this' capture here. (finish_qualified_id_expr): Pass NULL_TREE. (finish_id_expression): Likewise. (lambda_expr_this_capture): Likewise. From-SVN: r158809
Jason Merrill committed -
semantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking current_class_ref directly. * semantics.c (finish_qualified_id_expr): Use maybe_dummy_object rather than checking current_class_ref directly. (finish_call_expr): Likewise. From-SVN: r158808
Jason Merrill committed -
re PR c++/43856 ([C++0x] gcc-4.5.0 fails to transform id-expression into class member access in lambda compound-statement) PR c++/43856 * name-lookup.c (qualify_lookup): Disqualify lambda op(). * class.c (current_nonlambda_class_type): New fn. * semantics.c (nonlambda_method_basetype): New. * cp-tree.h: Declare them. * tree.c (maybe_dummy_object): Handle implicit 'this' capture. From-SVN: r158807
Jason Merrill committed -
From-SVN: r158806
Jason Merrill committed -
PR c++/43875 * semantics.c (lambda_return_type): Complain about braced-init-list. From-SVN: r158805
Jason Merrill committed -
2010-04-27 Jonathan Wakely <jwakely.gcc@gmail.com> * doc/xml/manual/status_cxx200x.xml: Update quick_exit status. * doc/html/*: Regenerate. From-SVN: r158804
Jonathan Wakely committed -
2010-04-27 Manuel López-Ibáñez <manu@gcc.gnu.org> Jan Hubicka <hubicka@ucw.cz> * doc/invoke.texi (-Wsuggest-attribute=const, -Wsuggest-attribute=pure): Document. * ipa-pure-const.c: Include toplev.h, intl.h and opts.h. (function_always_visible_to_compiler_p, suggest_attribute, warn_function_pure, warn_function_const): New functions. (check_call): Improve debug info. (analyze_function): Do not check availability. (add_new_function): Check availability. (propagate): Output warnings. (skip_function_for_local_pure_const): New function. (local_pure_const): Use it; output warnings. * common.opt (Wsuggest-attribute=const, Wsuggest-attribute=pure): New. testsuite/ * gcc.dg/pure-2.c: New testcase. * gcc.dg/const-1.c: New testcase. Co-Authored-By: Jan Hubicka <hubicka@ucw.cz> From-SVN: r158803
Manuel López-Ibáñez committed -
re PR c++/43790 ([C++0x] In lambda express, calling member function of non-captured class gives internal compiler error) PR c++/43790 * tree.c (cv_unqualified): Handle error_mark_node. From-SVN: r158801
Jason Merrill committed -
PR c++/41468 * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node if we don't want errors. From-SVN: r158799
Jason Merrill committed -
PR c++/41468 * class.c (convert_to_base): Add complain parameter. Pass ba_quiet to lookup_base if we don't want errors. (build_vfield_ref): Pass complain to convert_to_base. * call.c (convert_like_real): Likewise. (initialize_reference): Likewise. (perform_direct_initialization_if_possible): Pass complain to convert_like_real. * cp-tree.h: Adjust. From-SVN: r158798
Jason Merrill committed -
PR c++/42844 * decl.c (check_for_uninitialized_const_var): Handle classes that need constructing, too. (check_initializer): Call it for classes that need constructing, too. * class.c (in_class_defaulted_default_constructor): New. * cp-tree.h: Declare it. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r158797
Fabien Chêne committed -
* dwarf2out.c (def_cfa_1): After DW_CFA_def_cfa_expression force using DW_CFA_def_cfa instead of DW_CFA_def_cfa_register or DW_CFA_def_cfa_offset{,_sf}. From-SVN: r158793
Jakub Jelinek committed -
From-SVN: r158792
Eric Botcazou committed -
2010-04-27 Kai Tietz <kai.tietz@onevision.com> * collect2.c (TARGET_64BIT): Redefine to target's default. * tlink.c: Likewise. * config/i386/cygming.h (USER_LABEL_PREFIX): Define dependent to TARGET_64BIT and USE_MINGW64_LEADING_UNDERSCORES. * config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): Use for underscoring __USER_LABEL_PREFIX__. * config/i386/mingw-w64.h (SUB_LINK_ENTRY): New macro. (SUB_LINK_ENTRY32): New. (SUB_LINK_ENTRY64): New. (LINK_SPEC): Replace entry point spec by SUB_LINK_ENTRY. * config/i386/mingw32 (SUB_LINK_ENTRY32): New. (SUB_LINK_ENTRY64): New. (SUB_LINK_ENTRY): New. (LINK_SPEC): Use SUB_LINK_ENTRY instead of hard-coded entry-point. (DWARF2_UNWIND_INFO): Error out for use of dw2 unwind when x64 target is choosen. * config.in (USE_MINGW64_LEADING_UNDERSCORES): New. * configure: Regenerated. * configure.ac (leading-mingw64-underscores): Option added. From-SVN: r158791
Kai Tietz committed -
2010-04-27 Andrew Haley <aph@redhat.com> * java/util/concurrent/CopyOnWriteArrayList.java: Fix for empty list. From-SVN: r158790
Andrew Haley committed
-