- 17 May, 2010 26 commits
-
-
2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/43990 * trans-expr.c (gfc_conv_structure): Remove unneeded and buggy code. This is now handled via 'gfc_class_null_initializer'. 2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/43990 * gfortran.dg/class_21.f03: New. From-SVN: r159511
Janus Weil committed -
* call.c (struct z_candidate): Add explicit_targs field. (add_template_candidate_real): Set it. (build_over_call): Use it to control init-list warning. From-SVN: r159510
Jason Merrill committed -
PR c++/44157 * call.c (build_over_call): Limit init-list deduction warning to cases where the argument is actually an init-list. From-SVN: r159509
Jason Merrill committed -
PR c++/44158 * call.c (build_over_call): Don't do bitwise copy for move ctor. From-SVN: r159508
Jason Merrill committed -
2010-05-17 Martin Jambor <mjambor@suse.cz> * cgraph.h (cgraph_indirect_call_info): New fields anc_offset, otr_token and polymorphic. * cgraph.c (cgraph_create_indirect_edge): Inilialize the above fields. (cgraph_clone_edge): Copy the above fields. * tree.c (get_binfo_at_offset): New function. * tree.h (get_binfo_at_offset): Declare. * ipa-prop.h (enum jump_func_type): Added known_type jump function type, reordered items, updated comments. (union jump_func_value): Added base_type field, reordered fields. (enum ipa_lattice_type): Moved down in the file. (struct ipa_param_descriptor): New field polymorphic. (ipa_is_param_polymorphic): New function. * ipa-prop.c: Include gimple.h and gimple-fold.h. (ipa_print_node_jump_functions): Print known type jump functions. (compute_complex_pass_through): Renamed to... (compute_complex_assign_jump_func): this. (compute_complex_ancestor_jump_func): New function. (compute_known_type_jump_func): Likewise. (compute_scalar_jump_functions): Create known type and complex ancestor jump functions. (ipa_note_param_call): New parameter polymorphic, set the corresponding flag in the call note accordingly. (ipa_analyze_call_uses): Renamed to... (ipa_analyze_indirect_call_uses): this. New parameter target, define variable var only in the block where it is used. (ipa_analyze_virtual_call_uses): New function. (ipa_analyze_call_uses): Likewise. (combine_known_type_and_ancestor_jfs): Likewise. (update_jump_functions_after_inlining): Implemented handling of a number of new jump function types combination. (print_edge_addition_message): Removed. (make_edge_direct_to_target): New function. (try_make_edge_direct_simple_call): Likewise. (try_make_edge_direct_virtual_call): Likewise. (update_call_notes_after_inlining): Renamed to... (update_indirect_edges_after_inlining): this. Moved edge creation for indirect calls to try_make_edge_direct_simple_call, also calls try_make_edge_direct_virtual_call for virtual calls. (ipa_print_node_params): Changed the header message. (ipa_write_jump_function): Stream also known type jump functions. (ipa_read_jump_function): Likewise. (ipa_write_indirect_edge_info): Stream new fields in cgraph_indirect_call_info. (ipa_read_indirect_edge_info): Likewise. * Makefile.in (ipa-prop.o): Add dependency to GIMPLE_H and GIMPLE_FOLD_H. * testsuite/g++.dg/ipa/ivinline-1.C: New test. * testsuite/g++.dg/ipa/ivinline-2.C: New test. * testsuite/g++.dg/ipa/ivinline-3.C: New test. * testsuite/g++.dg/ipa/ivinline-4.C: New test. * testsuite/g++.dg/ipa/ivinline-5.C: New test. * testsuite/g++.dg/ipa/ivinline-6.C: New test. From-SVN: r159507
Martin Jambor committed -
2010-05-17 Janus Weil <janus@gcc.gnu.org> * class.c (gfc_add_component_ref,gfc_class_null_initializer, gfc_build_class_symbol,add_proc_component,add_proc_comps, add_procs_to_declared_vtab1,copy_vtab_proc_comps, add_procs_to_declared_vtab,add_generic_specifics, add_generics_to_declared_vtab,gfc_find_derived_vtab, find_typebound_proc_uop,gfc_find_typebound_proc, gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op, gfc_get_tbp_symtree): Moved here from other places. * expr.c (gfc_add_component_ref,gfc_class_null_initializer): Move to class.c. * gfortran.h (gfc_build_class_symbol,gfc_find_derived_vtab, gfc_find_typebound_proc,gfc_find_typebound_user_op, gfc_find_typebound_intrinsic_op,gfc_get_tbp_symtree, gfc_add_component_ref, gfc_class_null_initializer): Moved to class.c. * Make-lang.in: Add class.o. * symbol.c (gfc_build_class_symbol,add_proc_component,add_proc_comps, add_procs_to_declared_vtab1,copy_vtab_proc_comps, add_procs_to_declared_vtab,add_generic_specifics, add_generics_to_declared_vtab,gfc_find_derived_vtab, find_typebound_proc_uop,gfc_find_typebound_proc, gfc_find_typebound_user_op,gfc_find_typebound_intrinsic_op, gfc_get_tbp_symtree): Move to class.c. From-SVN: r159506
Janus Weil committed -
From-SVN: r159504
Rainer Orth committed -
From-SVN: r159503
Rainer Orth committed -
* tree.h (CALL_EXPR_ARGS): Delete. (call_expr_arglist): Delete. * tree.c (call_expr_arglist): Delete. * builtins.c (fold_call_expr): Pass the whole CALL_EXPR to targetm.fold_builtin. * config/alpha/alpha.c (alpha_fold_builtin): Rename arglist parameter. Rewrite iteration to work on call_expr_nargs rather than TREE_CHAIN. * config/picochip/picochip.c (picochip_expand_builtin_2op): Rename arglist parameter. Use CALL_EXPR_ARG. (picochip_expand_builtin_3op): Likewise. (picochip_expand_builtin_2opvoid): Likewise. (picochip_expand_array_get): Likewise. (picochip_expand_array_put): Likewise. (picochip_expand_array_testport): Likewise. (picochip_expand_builtin): Don't call CALL_EXPR_ARGS. Pass exp rather than arglist. * config/rx/rx.c (rx_expand_builtin): Call call_expr_nargs instead of CALL_EXPR_ARGS. * config/sparc/sparc.c (sparc_fold_builtin): Use CALL_EXPR_ARG rather than TREE_VALUE and TREE_CHAIN. * config/xtensa/xtensa.c (xtensa_fold_builtin): Likewise. * doc/tm.texi (TARGET_FOLD_BUILTIN): Pass CALL_EXPR tree instead of the arglist. From-SVN: r159502
Nathan Froyd committed -
PR c++/44108 * decl.c (compute_array_index_type): Call mark_rvalue_use. * c-c++-common/Wunused-var-8.c: New test. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r159497
Dodji Seketeli committed -
re PR bootstrap/42347 (sched-deps.c:3840:1: internal compiler error: in fixup_reorder_chain, at cfglayout.c:796) PR bootstrap/42347 * cfglayout.c (fixup_reorder_chain): Allow returnjump_p to have no fallthru edge. * gcc.c-torture/compile/pr42347.c: New test. From-SVN: r159496
Jakub Jelinek committed -
PR middle-end/44102 * cfgcleanup.c (try_optimize_cfg): When removing trivially empty bb with no successors, move footer whenever in IR_RTL_CFGLAYOUT mode, not just when CLEANUP_CFGLAYOUT, and when in IR_RTL_CFGRTL add BARRIER after previous bb if needed. * g++.dg/ext/asmgoto1.C: New test. From-SVN: r159495
Jakub Jelinek committed -
From-SVN: r159494
Nathan Froyd committed -
From-SVN: r159492
Nathan Froyd committed -
gcc/ * tree.c (build_function_type_list_1): Remove bogus assert condition. gcc/fortran/ * trans-types.c (gfc_init_types): Use build_function_type_list. (gfc_get_ppc_type): Likewise. * trans-decl.c (gfc_generate_constructors): Likewise. * f95-lang.c (build_builtin_fntypes): Likewise. (gfc_init_builtin_functions): Likewise. (DEF_FUNCTION_TYPE_0): Likewise. (DEF_FUNCTION_TYPE_1): Likewise. (DEF_FUNCTION_TYPE_2): Likewise. (DEF_FUNCTION_TYPE_3): Likewise. (DEF_FUNCTION_TYPE_4): Likewise. (DEF_FUNCTION_TYPE_5): Likewise. (DEF_FUNCTION_TYPE_6): Likewise. (DEF_FUNCTION_TYPE_7): Likewise. Use ARG7. (DEF_FUNCTION_TYPE_VAR_0): Use build_varags_function_type_list. From-SVN: r159491
Nathan Froyd committed -
trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list. * trans-array.c (gfc_trans_array_constructor_value): Use build_constructor instead of build_constructor_from_list. (gfc_build_constant_array_constructor): Likewise. * trans-decl.c (create_main_function): Likewise. * trans-stmt.c (gfc_trans_character_select): Likewise. From-SVN: r159490
Nathan Froyd committed -
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Delete unnecessary prototype. Replace copy_r12 and copy_r11 flag params with copy_reg rtx param. (rs6000_emit_prologue): Update rs6000_emit_allocate_stack calls. Correct cases where code for ABI_V4 did not initialise the reg used to access frame. Also leave frame_reg_rtx as sp for large frames that save no regs. From-SVN: r159483
Alan Modra committed -
2010-05-17 Martin Jambor <mjambor@suse.cz> PR middle-end/44133 * tree-sra.c (create_access_replacement): New parameter rename, mark the replaement for renaming only when it is true. (get_access_replacement): Pass true in the rename parameter of create_access_replacement. (get_unrenamed_access_replacement): New function. (replace_uses_with_default_def_ssa_name): New parameter racc, get the replacement declaration from it. * testsuite/gcc.dg/tree-ssa/pr44133.c: New test. * testsuite/gcc.dg/tree-ssa/sra-9.c: Make the scan regular expression more precise. From-SVN: r159482
Martin Jambor committed -
* function.c (try_fit_stack_local, add_frame_space): New static functions. (assign_stack_local_1): Use them. Look for opportunities to use space previously wasted on alignment. * function.h (struct frame_space): New. (struct rtl_data): Add FRAME_SPACE_LIST member. * reload1.c (something_was_spilled): New static variable. (alter_reg): Set it. (reload): Test it in addition to testing if the frame size changed. From-SVN: r159480
Bernd Schmidt committed -
2010-05-17 Paolo Carlini <paolo.carlini@oracle.com> * include/std/functional (result_of): Move... * include/std/type_traits: ... here. * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error line number. From-SVN: r159478
Paolo Carlini committed -
2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/44044 * resolve.c (resolve_fl_var_and_proc): Move error messages here from ... (resolve_fl_variable_derived): ... this place. (resolve_symbol): Make sure function symbols (and their result variables) are not resolved twice. 2010-05-17 Janus Weil <janus@gcc.gnu.org> PR fortran/44044 * gfortran.dg/class_20.f03: New. From-SVN: r159476
Janus Weil committed -
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com> PR 44078 * gcc.dg/tree-ssa/prefetch-7.c: Change pattern to match only the old debug messages but not the newly introduced one. From-SVN: r159475
Christian Borntraeger committed -
2010-05-17 Christian Borntraeger <borntraeger@de.ibm.com> * config/s390/s390.c: Define sane prefetch settings and activate flag_prefetch_loop_arrays on -O3. * config/s390/s390.h: Declare that read can use write prefetch. From-SVN: r159474
Christian Borntraeger committed -
* lto-streamer-out.c (lto_output): Fix --enable-checking=release build. From-SVN: r159473
Jakub Jelinek committed -
* ipa-cp.c (ipcp_versionable_function_p): Walk cgraph edges instead of function body; do not check stdarg field of struct function. From-SVN: r159472
Jan Hubicka committed -
From-SVN: r159471
GCC Administrator committed
-
- 16 May, 2010 14 commits
-
-
* cgraph.c (dump_cgraph_node): Dump versionable flag. * cgraph.h (cgraph_local_info): Add versionable flag. * ipa-cp.c (ipcp_analyze_node): Set versionable flag. (ipcp_versionable_function_p): Use it. * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream versionable flag. From-SVN: r159467
Jan Hubicka committed -
cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig. * cgraph.c (cgraph_clone_node): Take decl argument and insert clone into hash when it is different from orig. (cgraph_create_virtual_clone): Update use of cgraph_clone_node. * cgraph.h (cgraph_clone_node): Update prototype. * lto-cgrpah.c (lto_cgraph_encoder_new): Create body map. (lto_cgraph_encoder_delete): Delete body map. (lto_cgraph_encoder_size): Move to header. (lto_cgraph_encoder_encode_body_p, lto_set_cgraph_encoder_encode_body): New. (lto_output_node): Do not take written_decls argument; output clone_of pointer. (add_node_to): Add include_body_argument; call lto_set_cgraph_encoder_encode_body on master of the clone. (add_references): Update use of add_node_to. (compute_ltrans_boundary): Likewise. (output_cgraph): Do not create written_decls bitmap. (input_node): Take nodes argument; stream in clone_of correctly. (input_cgraph_1): Update use of input_node. * lto-streamer-out.c (lto_output): Use encoder info to decide what bodies to output. * ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_decide_recursive_inlining): Update call of cgraph_clone_node. * lto-streamer.h (lto_cgraph_encoder_d): Add body. (lto_cgraph_encoder_size): Define here. (lto_cgraph_encoder_encode_body_p, lto_varpool_encoder_encode_body_p): Declare. From-SVN: r159466
Jan Hubicka committed -
gcc/fortran/: 2010-05-16 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * array.c (match_array_list): Revert functional change of 2010-05-13. gcc/fortran/: 2010-05-16 Daniel Franke <franke.daniel@gmail.com> PR fortran/35779 * gfortran.dg/initialization_25.f90: Commented testcase. * gfortran.dg/initialization_26.f90: New. From-SVN: r159465
Daniel Franke committed -
2010-05-16 Richard Guenther <rguenther@suse.de> * doc/invoke.texi (-fipa-struct-reorg): Do not mention -fipa-type-escape. * ipa-type-escape.c (gate_type_escape_vars): Run when -fipa-struct-reorg runs. * opts.c (decode_options): Do not unset flag_ipa_type_escape. * common.opt (fipa-type-escape): Remove. * gcc.dg/pr43317.c: Do not pass -fipa-type-escape. * gcc.dg/pr43084.c: Likewise. * gcc.dg/pr42250.c: Pass -fipa-struct-reorg instead of -fipa-type-escape. * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Do not pass -fipa-type-escape. * gcc.dg/struct/struct-reorg.exp: Likewise. * gcc.dg/struct/wo_prof_empty_str.c: Likewise. * gcc.dg/struct/wo_prof_escape_return.c: Likewise. From-SVN: r159464
Richard Guenther committed -
* opts.c (handle_option): Call into LTO streamer only if ENABLE_LTO. (decode_options): Likewise. * Makefile.in (opts.o): Add dependency on LTO_STREAMER_H. From-SVN: r159463
Eric Botcazou committed -
2010-05-16 Richard Guenther <rguenther@suse.de> * trans-decl.c (module_htab_decls_hash): Revert last change. From-SVN: r159462
Richard Guenther committed -
* ipa.c (function_and_variable_visibility): Also bring local all aliases. From-SVN: r159461
Jan Hubicka committed -
2010-05-16 Richard Guenther <rguenther@suse.de> * alias.c (nonoverlapping_memrefs_p): Remove use of IPA type-escape information. From-SVN: r159460
Richard Guenther committed -
* c-common.c (c_common_reswords): Add _Static_assert for C. * c-parser.c (c_token_starts_declaration, c_parser_next_token_starts_declaration, c_parser_static_assert_declaration_no_semi, c_parser_static_assert_declaration): New. (c_parser_declaration_or_fndef): Add parameter static_assert_ok. Handle static assertions if static_assert_ok. (c_parser_external_declaration, c_parser_declaration_or_fndef, c_parser_compound_statement_nostart, c_parser_label, c_parser_for_statement, c_parser_objc_methodprotolist, c_parser_omp_for_loop): All callers of c_parser_declaration_or_fndef changed. (c_parser_struct_declaration): Handle static assertions. (c_parser_compound_statement_nostart): Use c_parser_next_token_starts_declaration and c_token_starts_declaration to detect start of declarations. (c_parser_label, c_parser_for_statement, c_parser_omp_for_loop): Likewise. testsuite: * gcc.dg/c1x-static-assert-1.c, gcc.dg/c1x-static-assert-2.c, gcc.dg/c1x-static-assert-3.c, gcc.dg/c1x-static-assert-4.c, gcc.dg/c1x-static-assert-5.c, gcc.dg/c1x-static-assert-6.c, gcc.dg/c90-static-assert-1.c, gcc.dg/c99-static-assert-1.c: New tests. From-SVN: r159459
Joseph Myers committed -
* config/mmix/mmix.h (FUNCTION_VALUE, FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove macros. * config/mmix/mmix.c (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE, TARGET_FUNCTION_VALUE_REGNO_P): Define. (mmix_function_outgoing_value): Rename to... (mmix_function_value): ...this. Make static. Add 'outgoing' argument. (mmix_function_value_regno_p): Make static. (mmix_libcall_value): New function. * config/mmix/mmix-protos.h (mmix_function_outgoing_value, mmix_function_value_regno_p): Remove declaration. From-SVN: r159458
Anatoly Sokolov committed -
tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled. * tree.c (build_common_builtin_nodes): Always clear TREE_NOTHROW on BUILT_IN_ALLOCA if stack checking is enabled. From-SVN: r159457
Eric Botcazou committed -
2010-05-16 Richard Guenther <rguenther@suse.de> * var-tracking.c (vars_copy_1): Inline ... (vars_copy): ... here. Use FOR_EACH_HTAB_ELEMENT. (variable_union): Use FOR_EACH_HTAB_ELEMENT. Merge asserts. (variable_merge_over_cur): Adjust. Merge asserts. (variable_merge_over_src): Likewise. (dataflow_set_merge): Use FOR_EACH_HTAB_ELEMENT. (variable_post_merge_new_vals): Merge asserts. (variable_post_merge_perm_vals): Likewise. (find_mem_expr_in_1pdv): Likewise. (dataflow_set_different_value): Remove. (onepart_variable_different_p): Merge asserts. (variable_different_p): Likewise. (dataflow_set_different_1): Inline ... (dataflow_set_different): ... here. Use FOR_EACH_HTAB_ELEMENT. (emit_notes_for_differences_1): Merge asserts. From-SVN: r159456
Richard Guenther committed -
2010-05-16 Richard Guenther <rguenther@suse.de> * lto-symtab.c (lto_symtab_entry_hash): Use IDENTIFIER_HASH_VALUE. * optabs.c (libfunc_decl_hash): Likewise. * varasm.c (emutls_decl): Likewise. fortran/ * trans-decl.c (module_htab_decls_hash): Use IDENTIFIER_HASH_VALUE. From-SVN: r159455
Richard Guenther committed -
2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org> ada/ * gcc-interface/misc.c (gnat_handle_option): Remove special logic for Wuninitialized without -O. fortran/ * options.c (set_Wall): Remove special logic for Wuninitialized without -O. From-SVN: r159454
Manuel López-Ibáñez committed
-