- 16 May, 2010 16 commits
-
-
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 -
* testsuite/libmudflap.c/pass46-frag.c (dg-options): Remove -Wall. From-SVN: r159453
Uros Bizjak committed -
* gcc-interface/gigi.h (enum standard_datatypes): Add new value ADT_exception_data_name_id. (exception_data_name_id): New define. * gcc-interface/trans.c (gigi): Initialize it. * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard exception type for standard exception definitions. Do not make them volatile. <E_Record_Type>: Equate fields of types associated with an exception definition to those of the standard exception type. From-SVN: r159452
Eric Botcazou committed -
* c-decl.c: Don't include gimple.h. (merge_decls): Do not copy gimple_body. From-SVN: r159451
Steven Bosscher committed -
gcc: * c.opt: Add -fnothrow-opt. gcc/cp: * cp-tree.h (TYPE_NOEXCEPT_P): New macro. * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if TYPE_NOEXCEPT_P. (finish_eh_spec_block): Adjust. From-SVN: r159450
Jason Merrill committed -
From-SVN: r159449
GCC Administrator committed
-
- 15 May, 2010 19 commits
-
-
2010-05-15 Janus Weil <janus@gcc.gnu.org> PR fortran/44154 PR fortran/42647 * trans-decl.c (gfc_trans_deferred_vars): Modify ordering of if branches. 2010-05-15 Janus Weil <janus@gcc.gnu.org> PR fortran/44154 PR fortran/42647 * gfortran.dg/allocatable_scalar_9.f90: New. From-SVN: r159445
Janus Weil committed -
* ipa-prop.c (ipa_prop_read_section): Add sanity check that node is analyzed. * passes.c (ipa_write_summaries): Write all analyzed nodes. From-SVN: r159444
Jan Hubicka committed -
PR c++/44148 * pt.c (tsubst): Unshare template argument. * g++.dg/torture/pr44148.C: New test. From-SVN: r159443
Jakub Jelinek committed -
gcc/ChangeLog * vecir.h: New file with VEC primitives for tree, gimple, and rtl. * Makefile.in: Add it. Fix all other Makefile dependencies for changes below. * tree.h: Include it instead of defining VEC primitives here. * gimple.h: Likewise. * rtl.h: Likewise. * tree-inline.h: Inlclude vecir.h instead of gimple.h. * except.h: Include vecir.h, break dependence on tree.h. * gimplify.c (append_to_statement_list_1, append_to_statement_list): Move from here... * tree-iterator.c: ...to here. * tree-iterator.h: Fix file introduction comment. Add extern markers. * c-lex.c: Include fixed-value.h instead of rtl.h. Do not include tm_p.h. * c-cppbuiltin.c: Explain why debug.h and tm_p.h are included. * c-objc-common.h: Do not include tm.h, rtl.h, insn-config.h, integrate.h, function.h, toplev.h, tree-inline.h, ggc.h, tree-mudflap.h, and target.h. * c-semantics.c: Do not include except.h, ggc.h, rtl.h, timevar.h, predict.h, tree-inline.h, gimple.h, and langhooks.h. * c-decl.c: Do not include expr.h, ggc.h, libfuncs.h, except.h. Add FIXME for why gimple.h is still included (should be unnecessary since GCC 4.5 gimplification unit-at-a-time). * c-typeck.c: Do not include rtl.h, tm_p.h, ggc.h, and gimple.h. * c-pragma.c: Add FIXME for why function.h needs to be included just for cfun, at front-end level. Add note that REGISTER_TARGET_PRAGMAS should probably be a target hook. Do not include ggc.h, but include vecprim.h for VEC(char). * c-opts.c: Do not include tm.h, tree-inline.h, and tm_p.h. Explain why target.h is included. * c-omp.h: Do not include tm.h, function.h, and bitmap.h. Explain why gimple.h is included. * c-ppoutput.c: Do not include tm.h. * c-common.c: Do not include gimple.h. Explain why expr.h is included. * c-parses.c: Explain why rtl.h is included, and that this (and only this) is also why tm.h must be included. Do not include except.h. * c-lang.c: Do not include ggc.h. cp/ChangeLog * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes. * Make-lang.in: Fix dependencies accordingly. From-SVN: r159442
Steven Bosscher committed -
* targhooks.c (GO_IF_MODE_DEPENDENT_ADDRESS): Use CONST_CAST_RTX. From-SVN: r159441
Uros Bizjak committed -
* testsuite/lib/mfdg.exp (additional_prunes): New global. (dg-test): Clear additional_prunes before test is run. (dg-prune-output): New procedure. * testsuite/lib/libmudflap.exp (libmudflap-dg-test): Do not call prune_gcc_output. (libmudflap-dg-prune): New procedure. * testsuite/libmudflap.c++/pass57-frag.cxx (dg-prune-output): New dg directive. From-SVN: r159440
Uros Bizjak committed -
* c-decl.c (grokfield): Allow typedefs for anonymous structs and unions by default if those structs and unions have no tags. Do not condition anonymous struct and unions handling on flag_iso. Allow anonymous structs and unions for C1X. (finish_struct): Do not diagnose lack of named fields when anonymous structs and unions present for C1X. Accept flexible array members in structure with anonymous structs or unions but no directly named fields. * doc/extend.texi (Unnamed Fields): Update. testsuite: * gcc.dg/c1x-anon-struct-1.c, gcc.dg/c1x-anon-struct-2.c, gcc.dg/c90-anon-struct-1.c, gcc.dg/c99-anon-struct-1.c: New tests. * gcc.dg/20080820.c, gcc.dg/anon-struct-1.c: Update expected diagnostics and type sizes. From-SVN: r159439
Joseph Myers committed -
* gimple.h (compare_field_offset): Rename into... (gimple_compare_field_offset): ...this. * gimple.c (compare_field_offset): Rename into... (gimple_compare_field_offset): ...this. Compare the full access if the offset is self-referential. (gimple_types_compatible_p): Adjust for above renaming. * lto-streamer-in.c (input_gimple_stmt): Likewise. Also compare the DECL_NONADDRESSABLE_P flag of fields before merging them. From-SVN: r159438
Eric Botcazou committed -
* tree.h (ctor_to_list): Delete. * tree.c (ctor_to_list): Delete. From-SVN: r159437
Nathan Froyd committed -
* gcc.dg/lto/ipareference_1.c: Rename to ... * gcc.dg/lto/ipareference_0.c: ... this one. * gcc.dg/lto/ipareference_2.c: Rename to ... * gcc.dg/lto/ipareference_1.c: ... this one. From-SVN: r159436
Jan Hubicka committed -
* ipa-reference.c: Include toplev.h (is_proper_for_analysis): Only add to all_module_statics if it is allocated. (write_node_summary_p, stream_out_bitmap, ipa_reference_write_optimization_summary, ipa_reference_read_optimization_summary): New. (struct ipa_opt_pass_d pass_ipa_reference): Add optimization summary streaming. * lto-cgraph.c (referenced_from_this_partition_p, reachable_from_this_partition_p): New functions. * tree-ssa-alias.c (ref_maybe_used_by_call_p_1, call_may_clobber_ref_p_1): Ask ipa-reference even for public vars. * opts.c (decode_options): Enable ipa_reference. * Makefile.in (ipa-reference.o): Add toplev.h dependency. * lto-streamer.h (referenced_from_this_partition_p, reachable_from_this_partition_p): Declare. * gcc.dg/lto/ipareference_1.c: New file. * gcc.dg/lto/ipareference_2.c: New file. From-SVN: r159435
Jan Hubicka committed -
2010-05-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/44038 * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Avoid taking the address of a V_C_E of a constant. * gcc.c-torture/compile/pr44038.c: New testcase. From-SVN: r159434
Richard Guenther committed -
2010-05-15 H.J. Lu <hongjiu.lu@intel.com> * gcc.target/i386/avx-cmpsd-1.c: Add -std=c99. * gcc.target/i386/avx-cmpss-1.c: Likewise. From-SVN: r159432
H.J. Lu committed -
re PR fortran/43207 ([OOP] invalid (pointer) assignment to and from abstract non-polymorphic expressions) 2010-05-15 Janus Weil <janus@gcc.gnu.org> PR fortran/43207 PR fortran/43969 * gfortran.h (gfc_class_null_initializer): New prototype. * expr.c (gfc_class_null_initializer): New function to build a NULL initializer for CLASS pointers. * symbol.c (gfc_build_class_symbol): Modify internal naming of class containers. Remove default NULL initialization of $data component. * trans.c (gfc_allocate_array_with_status): Fix wording of an error message. * trans-expr.c (gfc_conv_initializer,gfc_trans_subcomponent_assign): Use new function 'gfc_class_null_initializer'. * trans-intrinsic.c (gfc_conv_allocated): Handle allocatable scalar class variables. 2010-05-15 Janus Weil <janus@gcc.gnu.org> PR fortran/43207 PR fortran/43969 * gfortran.dg/class_18.f03: New. * gfortran.dg/class_19.f03: New. From-SVN: r159431
Janus Weil committed -
* tree.h (memory_identifier_string): Remove. * ipa-reference.c: Update comment; do not include gt-ipa-reference.h (ipa_reference_global_vars_info_d): Remove statics_not_read and statics_not_written. (ipa_reference_optimization_summary_d): New structure. (ipa_reference_optimization_summary_t): New type and vector. (ipa_reference_vars_info_d): Embedd structures instead of using pointers. (reference_vars_to_consider): Remove out of GGC space. (module_statics_escape): Remove. (global_info_obstack): Rename to ... (optimization_summary_obstack): ... this one. (initialization_status_t): Remove. (memory_identifier_string): Remove. (get_reference_vars_info): Fix indenting. (set_reference_vars_info): Likewise. (get_reference_optimization_summary): New. (set_reference_optimization_summary): New. (get_global_reference_vars_info): Remove. (ipa_reference_get_read_global): Remove. (ipa_reference_get_written_global): Remove. (ipa_reference_get_not_read_global): Update. (ipa_reference_get_not_written_global): Update. (is_proper_for_analysis): Outlaw addressable. (propagate_bits): Update for new datastructures. (analyze_variable): Remove. (init_function_info): Update for new datastructures. (clean_function_local_data): Remove. (clean_function): Remove. (copy_global_bitmap): Use optimizations_summary_obstack. (duplicate_node_data): Duplicate optimization summary only. (remove_node_data): Remove optimization summary only. (generate_summary): Do not analyze variables; do not compute module_statics_escape; do not prune solutions by it. (read_write_all_from_decl): Fix typos in comments. (propagate): Doscover readonly and nonaddressable first; update for new datastructures; share global bitmaps. * ipa-reference.h (ipa_reference_get_read_global, ipa_reference_get_written_global): Remove. * ipa-pure-const.c (check_stmt): Do not use memory_identifier_string. * Makefile.in: Remove ipa-refereference from GT files. From-SVN: r159430
Jan Hubicka committed -
PR debug/44112 * dwarf2out.c (resolve_one_addr): Check TREE_ASM_WRITTEN for all SYMBOL_REF_DECLs. * gcc.dg/debug/dwarf2/const-1.c: Remove. * g++.dg/debug/dwarf2/const1.C: Remove. From-SVN: r159429
Jakub Jelinek committed -
C++ DR 475 * except.c (build_throw): Simplify, adjust for DR 475. From-SVN: r159428
Jason Merrill committed -
From-SVN: r159426
Joseph Myers committed -
From-SVN: r159425
GCC Administrator committed
-
- 14 May, 2010 5 commits
-
-
* cgraph.h (ipa_discover_readonly_nonaddressable_vars): Declare. (varpool_all_refs_explicit_p): New inline function. * ipa-reference.c: Update comment. (module_statics_written): Remove. (get_static_decl): Remove. (ipa_init): Do not initialize module_statics_written. (analyze_function): Likewise. (generate_summary): Likewise; do not compute module_statics_readonly and do not update variable flags. (propagate): Call ipa_discover_readonly_nonaddressable_vars. * ipa.c: Inlucde flags.h (cgraph_local_node_p): New. (cgraph_remove_unreachable_nodes): Return early when not optimizing; promote functions to local. (ipa_discover_readonly_nonaddressable_vars): New function. (function_and_variable_visibility): Use cgraph_local_node_p. * varpool.c (varpool_finalize_decl): Set force_output for DECL_PRESERVE_P vars. From-SVN: r159421
Jan Hubicka committed -
2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/44135 * gfortran.dg/actual_array_interface_2.f90: New test. 2010-05-14 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/44135 * fortran/interface.c (get_sym_storage_size): Use signed instead of unsigned mpz_get_?i routines. From-SVN: r159415
Steven G. Kargl committed -
PR 44103 * java-tree.h (START_RECORD_CONSTRUCTOR): Change first argument to a vector. Move call to build_constructor... (FINISH_RECORD_CONSTRUCTOR): ...here. Add necessary arguments. Clear TREE_CONSTANT on the constructor. (PUSH_SUPER_VALUE): Change first argument to a vector. (PUSH_FIELD_VALUE): Likewise. * resource.c (compile_resource_data): Update calls to above macros. * constants.c (build_constants_constructor): Likewise. * class.c (build_utf8_ref): Likewise. (make_field_value): Likewise. (make_method_value): Likewise. (add_table_and_syms): New function. (make_class_data): Call it. Update calls to above macros. (build_symbol_table_entry): New function. (build_symbol_entry): Call it. Update calls to above macros. (emit_symbol_table): Likewise. (make_catch_class_record): Update calls to above macros. (build_assertion_table_entry): New function. (add_assertion_table_entry): Call it. (emit_assertion_table): Likewise. From-SVN: r159414
Nathan Froyd committed -
From-SVN: r159413
Jan Hubicka committed -
2010-05-14 Richard Guenther <rguenther@suse.de> PR tree-optimization/44119 * tree-ssa-pre.c (eliminate): Properly mark replacement of a PHI node necessary. * gcc.c-torture/compile/pr44119.c: New testcase. From-SVN: r159412
Richard Guenther committed
-