aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-05-30tree-ssa-forwprop.c (forward_propagate_into_comparison): New function split ↵Richard Guenther2-202/+222
out from ... 2011-05-30 Richard Guenther <rguenther@suse.de> * tree-ssa-forwprop.c (forward_propagate_into_comparison): New function split out from ... (forward_propagate_into_gimple_cond): ... here. Adjust. (forward_propagate_into_cond): Likewise. (forward_propagate_comparison): Also propagate into comparisons on assignment RHS. Change return value to behave similar to forward_propagate_into_cond. (tree_ssa_forward_propagate_single_use_vars): Handle strict-overflow warnings properly for forward_propagate_comparison. From-SVN: r174428
2011-05-30configure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin ↵Rainer Orth3-20/+78
linker. * configure.ac (gcc_cv_lto_plugin): Determine lto plugin support from plugin linker. * configure: Regenerate. From-SVN: r174426
2011-05-30re PR tree-optimization/49199 (ICE: in vect_create_epilog_for_reduction at ↵Ira Rosen5-22/+116
tree-vect-loop.c:3445 with -O -fno-tree-scev-cprop -ftree-vectorize -funswitch-loops) PR tree-optimization/49199 * tree-vect-loop.c (vect_is_slp_reduction): Check that the non-reduction operands are either defined in the loop or by induction. From-SVN: r174425
2011-05-30Revert wrong checkinXinliang David Li1-22/+0
From-SVN: r174424
2011-05-30New option to disable/enable optimization passes.Xinliang David Li7-2/+452
From-SVN: r174423
2011-05-30Daily bump.GCC Administrator1-1/+1
From-SVN: r174422
2011-05-29i386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for ↵Uros Bizjak2-38/+86
alternative 0. * config/i386/i386.md (*movoi_internal_avx): Use standard_sse_constant_opcode for alternative 0. (*movti_internal_sse): Ditto. (*movti_internal_rex64): Use standard_sse_constant_opcode for alternative 2. (*movdi_internal_rex64): Use standard_sse_constant_opcode for sselog1 type moves. (*movsi_internal): Ditto. (*movdi_internal): Ditto. Add ssecvt type moves. From-SVN: r174417
2011-05-29re PR fortran/47601 ([OOP] Internal Error: mio_component_ref(): Component ↵Janus Weil5-8/+45
not found) 2011-05-29 Janus Weil <janus@gcc.gnu.org> PR fortran/47601 * module.c (mio_component_ref): Handle components of extended types. * symbol.c (gfc_find_component): Return is sym is NULL. 2011-05-29 Janus Weil <janus@gcc.gnu.org> PR fortran/47601 * gfortran.dg/extends_13.f03: New. From-SVN: r174416
2011-05-29re PR rtl-optimization/48830 (unrecognized insn: storing invalid upper FP ↵Eric Botcazou2-2/+7
reg in SImode) PR target/48830 * rtlanal.c (simplify_subreg_regno): Adjust comment. From-SVN: r174414
2011-05-29re PR rtl-optimization/49095 (Horrible code generation for trivial decrement ↵Jakub Jelinek5-1/+174
with test) PR rtl-optimization/49095 * config/i386/predicates.md (plusminuslogic_operator): New predicate. * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0. * gcc.target/i386/pr49095.c: New test. From-SVN: r174413
2011-05-29re PR fortran/45786 (Relational operators .eq. and == are not recognized as ↵Thomas Koenig4-65/+96
equivalent) 2011-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45786 * interface.c (gfc_equivalent_op): New function. (gfc_check_interface): Use gfc_equivalent_op instead of switch statement. * decl.c (access_attr_decl): Also set access to an equivalent operator. 2011-05-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45786 * gfortran.dg/operator_7.f90: New test case. From-SVN: r174412
2011-05-29re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus4-0/+55
2011-05-29 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * interface.c (compare_parameter): Add check for passing coarray to allocatable noncoarray dummy. 2011-05-29 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_24.f90: New. From-SVN: r174411
2011-05-29re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus6-6/+30
2011-05-29 Tobias Burnus <burnus@net-b.de> Richard Guenther <rguenther@suse.de> PR fortran/18918 * trans-types.c (gfc_get_nodesc_array_type): Don't mess with the type's TREE_TYPE. * trans-array.c (gfc_conv_array_ref): Use TYPE_MAIN_VARIANT. * trans.c (gfc_build_array_ref): Ditto. 2011-05-29 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_23.f90: New. Co-Authored-By: Richard Guenther <rguenther@suse.de> From-SVN: r174410
2011-05-29Add PR target/43700 to an earlier changelog entry.Richard Sandiford1-0/+1
From-SVN: r174403
2011-05-29re PR target/43995 (internal compiler error: Segmentation fault on Mips64 ↵Richard Sandiford2-16/+48
crossbuild of ext2progs) gcc/ PR target/43995 * config/mips/mips.c (mips_pic_call_symbol_from_set): Add a recurse_p argument. Only follow register copies if it is set, and prevent mips_find_pic_call_symbol from recursing. (mips_find_pic_call_symbol): Add a recurse_p argument. Pass it to mips_pic_call_symbol_from_set. (mips_annotate_pic_calls): Update accordingly. From-SVN: r174402
2011-05-29emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs.Richard Sandiford4-6/+25
gcc/ * emit-rtl.c (try_split): Use a loop to search for NOTE_INSN_CALL_ARG_LOCATIONs. gcc/testsuite/ From Ryan Mansfield * gcc.dg/pr48826.c: New test. From-SVN: r174401
2011-05-29re PR tree-optimization/49217 (Wrong optimization of code)Richard Guenther4-2/+38
2011-05-29 Richard Guenther <rguenther@suse.de> PR tree-optimization/49217 * ipa-pure-const.c (propagate_pure_const): Fix typos. * gcc.dg/torture/pr49217.c: New testcase. From-SVN: r174400
2011-05-29re PR testsuite/49222 (FAIL: gcc.dg/vect/pr49038.c (test for excess errors) ↵Ira Rosen2-0/+9
on *-apple-darwin*) PR testsuite/49222 * gcc.dg/vect/pr49038.c: Use MAP_ANON if MAP_ANONYMOUS is not defined. From-SVN: r174398
2011-05-29lto-streamer-out.c (hash_string_slot_node): Hash string based on its length.Jan Hubicka3-57/+87
* lto-streamer-out.c (hash_string_slot_node): Hash string based on its length. (string_slot_free): Remove (create_output_block): Initialize obstack. (destroy_output_block): Free obstack. (lto_string_index): Add PERSISTENT parameter; do not duplicate the string unless it needs to be added into the hash. (lto_output_string_with_length): Add persistent attribute; handle NULL strings. (lto_output_string): Add PERSISTENT parameter. (output_string_cst, output_identifier): Simplify. (lto_output_location_bitpack): Update. (lto_output_builtin_tree): Update. * lto-streamer.h (struct output_block): Add obstack. (lto_output_string, lto_output_string_with_length): Remove declarations; functions are static now. From-SVN: r174397
2011-05-29lto-streamer-out.c (pack_ts_fixed_cst_value_fields, [...]): Use enum and ↵Jan Hubicka6-40/+132
variable length i/o. * lto-streamer-out.c (pack_ts_fixed_cst_value_fields, pack_ts_decl_common_value_fields, pack_ts_decl_with_vis_value_fields, pack_ts_function_decl_value_fields, lto_output_builtin_tree, output_cfg, output_gimple_stmt): Use enum and variable length i/o. * lto-streamer-in.c (input_cfg, input_gimple_stmt, unpack_ts_fixed_cst_value_fields, unpack_ts_decl_common_value_fields, unpack_ts_decl_with_vis_value_fields, unpack_ts_type_common_value_fields, unpack_ts_block_value_fields, lto_get_builtin_tree): Use enum and variable length i/o. * basic-block.h (profile_status_d): Add PROFILE_LAST. * lto-streamer.h (bp_pack_int_in_range, bp_unpack_int_in_range): New functions. (bp_pack_enum, bp_unpack_enum): New macros. From-SVN: r174394
2011-05-29boolean_subtype.adb: Rename to...Eric Botcazou2-1/+6
* gnat.dg/boolean_subtype.adb: Rename to... * gnat.dg/boolean_subtype1.adb: ...this. From-SVN: r174392
2011-05-29Daily bump.GCC Administrator1-1/+1
From-SVN: r174391
2011-05-28re PR c++/46124 ([C++0x] ICE: tree check: expected var_decl or ↵Jason Merrill4-8/+36
function_decl, have error_mark in cp_parser_lambda_declarator_opt, at cp/parser.c:7817 on invalid lambda function) PR c++/46124 * parser.c (cp_parser_lambda_expression): Improve error recovery. (cp_parser_lambda_declarator_opt): Likewise. Return bool. From-SVN: r174386
2011-05-28re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal ↵Jason Merrill4-3/+14
compiler error with std=gnu++0x) PR c++/47277 * parser.c (cp_parser_pseudo_destructor_name): Commit to parse after we see the ~. From-SVN: r174385
2011-05-28genrecog.c: Remove redundant forward declarations.Richard Sandiford2-77/+4
gcc/ * genrecog.c: Remove redundant forward declarations. From-SVN: r174382
2011-05-28config.gcc: Deprecate mips*-*-openbsd*.Richard Sandiford2-0/+5
gcc/ * config.gcc: Deprecate mips*-*-openbsd*. From-SVN: r174379
2011-05-28re PR bootstrap/49195 (Error building libgcc for powerpc64 since r174305)Richard Sandiford2-2/+8
gcc/ PR bootstrap/49195 * genrecog.c (add_to_sequence): Use XEXP rather than XVECEXP for match_op_dup. From-SVN: r174378
2011-05-27mangle.c (mangle_decl_string): Make sure we don't try to mangle templates.Jason Merrill3-4/+10
* mangle.c (mangle_decl_string): Make sure we don't try to mangle templates. From-SVN: r174376
2011-05-27re PR c++/47049 ([C++0x] ICE in write_unnamed_type_name with lambda use)Jason Merrill5-1/+31
PR c++/47049 * semantics.c (maybe_add_lambda_conv_op): Fix COMDAT sharing. * decl.c (start_preparsed_function): Don't call comdat_linkage for a template. From-SVN: r174375
2011-05-28Daily bump.GCC Administrator1-1/+1
From-SVN: r174373
2011-05-27Change export code to use the backend interface.Ian Lance Taylor6-32/+36
* go-backend.c: Include "output.h". (go_write_export_data): New function. * go-c.h (go_write_export_data): Declare. * Make-lang.in (go/go-backend.o): Depend on output.h. (go/export.o): Depend on $(GO_C_H). Do not depend on $(MACHMODE_H), output.h, or $(TARGET_H). From-SVN: r174366
2011-05-27re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])Tobias Burnus7-5/+92
2011-05-27 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * check.c (gfc_check_associated, gfc_check_null): Add coindexed * check. * match.c (gfc_match_nullify): Ditto. * resolve.c (resolve_deallocate_expr): Ditto. * trans-types.c (gfc_get_nodesc_array_type): Don't set * restricted for nonpointers. 2011-05-27 Tobias Burnus <burnus@net-b.de> PR fortran/18918 * gfortran.dg/coarray_22.f90: New. From-SVN: r174364
2011-05-27re PR other/48981 (bootstrap-lto -O3 produces miscompiled, broken gcc)Andrew Pinski4-102/+140
2011-05-27 Andrew Pinski <pinskia@gmail.com> PR middle-end/48981 * gengtype.c (vec_prefix_type): New function. (note_def_vec): Use vec_prefix_type and change the length attribute to be based on the prefix. * vec.c: Include coretypes.h before vec.h. (struct vec_prefix): Remove. (vec_gc_p_reserve): Change the offsetof to sizeof. (vec_gc_p_reserve_exact): Likewise. (vec_heap_p_reserve): Likewise. (vec_heap_p_reserve_exact): Likewise. (vec_stack_o_reserve_1): Copy from +1 instead of from vec. (vec_stack_p_reserve): Change the offsetof to sizeof. (vec_stack_p_reserve_exact): Likewise. * vec.h (struct vec_prefix): New struct definition. (VEC_T(T,B)): Use vec_prefix instead of having num/alloc fields. (VEC_T_GTY(T,B)): Likewise. (DEF_VEC_FUNC_P(T)): Use prefix field. (DEF_VEC_NONALLOC_FUNCS_O(T,A)): Likewise. (DEF_VEC_NONALLOC_FUNCS_I(T,A)): Likewise. From-SVN: r174359
2011-05-27re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, ↵Bill Schmidt17-0/+615
0.75)+y on powerpc) 2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/46728 * gcc.target/powerpc/pr46728-1.c: New. * gcc.target/powerpc/pr46728-2.c: New. * gcc.target/powerpc/pr46728-3.c: New. * gcc.target/powerpc/pr46728-4.c: New. * gcc.target/powerpc/pr46728-5.c: New. * gcc.dg/pr46728-6.c: New. * gcc.target/powerpc/pr46728-7.c: New. * gcc.target/powerpc/pr46728-8.c: New. * gcc.dg/pr46728-9.c: New. * gcc.target/powerpc/pr46728-10.c: New. * gcc.target/powerpc/pr46728-11.c: New. * gcc.dg/pr46728-12.c: New. * gcc.target/powerpc/pr46728-13.c: New. * gcc.target/powerpc/pr46728-14.c: New. * gcc.target/powerpc/pr46728-15.c: New. * gcc.target/powerpc/pr46728-16.c: New. From-SVN: r174358
2011-05-27re PR c++/47132 ([C++0x] decltype can't deduce some operator return types ↵Jason Merrill4-0/+25
when defining an auto function's return) PR c++/47132 * mangle.c (write_expression): Handle MODOP_EXPR. From-SVN: r174357
2011-05-27re PR c++/49176 ([c++0x] valid code rejected with "error: uninitialized const")Jason Merrill2-0/+15
PR c++/49176 * g++.dg/template/const5.C: New. From-SVN: r174356
2011-05-27re PR c++/47277 ([C++0x] pseudo destructor code that cause an internal ↵Jason Merrill4-1/+16
compiler error with std=gnu++0x) PR c++/47277 * parser.c (cp_parser_unqualified_id): Don't check constructor_name_p for enums. From-SVN: r174355
2011-05-27re PR c++/47687 ([C++0x] Crash on a lambda returning a lambda (using ↵Jason Merrill4-2/+23
std::function)) PR c++/47687 * pt.c (dependent_type_p_r): Avoid infinite recursion. From-SVN: r174354
2011-05-27re PR c++/48284 ([C++0x] incorrect printing of decltype operand in diagnostic)Jason Merrill4-1/+18
PR c++/48284 * error.c (dump_expr) [COMPONENT_REF]: Use pp_cxx_dot with INDIRECT_REF of REFERENCE_TYPE. From-SVN: r174353
2011-05-27re PR c++/49181 ([C++0x] Error reporting routines re-entered)Jason Merrill4-4/+120
PR c++/49181 * pt.c (get_mostly_instantiated_function_type): Use push_access_scope. From-SVN: r174352
2011-05-27re PR c++/49165 (ICE on for-loop/throw combination)Jakub Jelinek4-7/+62
PR c++/49165 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For C++ don't call c_common_truthvalue_conversion on void type arms. * g++.dg/eh/cond6.C: New test. From-SVN: r174350
2011-05-27re PR tree-optimization/46728 (GCC does not generate fmadd for pow (x, ↵Bill Schmidt2-3/+155
0.75)+y on powerpc) 2011-05-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com> PR tree-optimization/46728 * tree-ssa-math-opts.c (powi_as_mults_1): Add gimple_set_location. (powi_as_mults): Add gimple_set_location. (build_and_insert_call): New. (gimple_expand_builtin_pow): Add handling for pow(x,y) when y is 0.5, 0.25, 0.75, 1./3., or 1./6. From-SVN: r174349
2011-05-27re PR fortran/48820 (TR 29113: Implement parts needed for MPI 3)Tobias Burnus10-0/+131
2011-05-27 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * gfortran.h (gfc_isym_id): Add GFC_ISYM_RANK. * intrinsic.c (add_functions): Add rank intrinsic. (gfc_check_intrinsic_standard): Handle GFC_STD_F2008_TR. * intrinsic.h (gfc_simplify_rank, gfc_check_rank): Add * prototypes. * simplify.c (gfc_simplify_rank): New function. * intrinsic.texi (RANK): Add description for rank intrinsic. * check.c (gfc_check_rank): New function. 2011-05-27 Tobias Burnus <burnus@net-b.de> PR fortran/48820 * gfortran.dg/rank_3.f90: New. * gfortran.dg/rank_4.f90: New. From-SVN: r174348
2011-05-27contrib.texi: Update copyright years.Alexander Monakov2-1/+10
2011-05-27 Alexander Monakov <amonakov@ispras.ru> * doc/contrib.texi: Update copyright years. (Contributors): Add Zdenek Sojka. From-SVN: r174344
2011-05-27move TS_STATEMENT_LIST to be a substructure of TS_TYPEDNathan Froyd18-48/+93
move TS_STATEMENT_LIST to be a substructure of TS_TYPED gcc/ * c-decl.c (c_push_function_context): Copy the current statement list stack. (add_stmt): Check building_stmt_list_p and push_stmt if necessary. (finish_struct): Call building_stmt_list_p instead of checking cur_stmt_list. * c-parser.c (c_parser_postfix_expression): Likewise. * c-typeck.c (c_end_compound_stmt): Likewise. * print-tree.c (print_node) [STATEMENT_LIST]: Don't print TREE_CHAIN. * tree-iterator.c (stmt_list_cache): Change to a VEC. (alloc_stmt_list): Adjust for stmt_list_cache's new type. (free_stmt_list): Likewise. * tree.h (struct tree_statement_list): Include typed_tree instead of tree_common. * tree.c (initialize_tree_contains_struct): Mark TS_STATEMENT_LIST as TS_TYPED instead of TS_COMMON. gcc/c-family/ * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC. (stmt_list_stack): Define. (cur_stmt_list): Adjust for new type of x_cur_stmt_list. * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise. gcc/cp/ * cp-tree.h (building_stmt_tree): Delete. * decl.c (save_function_data): Tweak initializer for x_cur_stmt_list. (build_aggr_init_full_exprs): Call building_stmt_list_p instead of building_stmt_tree. (initialize_local_var): Likewise. (finish_function): Likewise. * decl2.c (finish_anon_union): Likewise. * init.c (begin_init_stmts): Likewise. (finish_init_stmts): Likewise. (expand_aggr_init_1): Likewise. * name-lookup.c (do_local_using_decl): Likewise. (do_namespace_alias): Likewise. (do_using_directive): Likewise. (cp_emit_debug_info_for_using): Likewise. * semantics.c (add_stmt): Assert that stmt_list_stack is non-empty. From-SVN: r174343
2011-05-27tree-ssa-pr43411.C: Rename function to be inlined and replace dump search.Janis Johnson2-7/+12
* g++.dg/tree-ssa-pr43411.C: Rename function to be inlined and replace dump search. From-SVN: r174341
2011-05-27configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdpltRainer Orth6-1/+123
2011-05-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> Uros Bizjak <ubizjak@gmail.com> * configure.ac (gcc_cv_as_ix86_tlsgdplt): Check for @tlsgdplt (HAVE_AS_IX86_TLSGDPTL): Define. (gcc_cv_as_ix86_tlsldmplt): Check for @tlsldmplt. (HAVE_AS_IX86_TLSLDMPLT): Define. * configure: Regenerate. * config.in: Regenerate. * config/i386/i386.c (ix86_print_operand): Handle code 'p'. * config/i386/i386.md (*tls_global_dynamic_32_gnu): If TARGET_SUN_TLS, use @tlsgdplt or @plt. (*tls_global_dynamic_64): Use @plt if TARGET_SUN_TLS. (*tls_local_dynamic_base_32_gnu): If TARGET_SUN_TLS, use @tlsldmplt or @plt. (*tls_local_dynamic_base_64): Use @plt if TARGET_SUN_TLS. Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r174340
2011-05-27bit_packed_array5.ads: Move dg directive to...Eric Botcazou3-4/+8
* gnat.dg/bit_packed_array5.ads: Move dg directive to... * gnat.dg/bit_packed_array5.adb: ...here. From-SVN: r174338
2011-05-27re PR c++/42056 (ICE with invalid use of auto in template)Paolo Carlini4-0/+30
/cp 2011-05-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42056 * typeck2.c (build_functional_cast): Complain early for invalid uses of 'auto' and set type to error_mark_node. /testsuite 2011-05-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/42056 * testsuite/g++.dg/cpp0x/auto25.C: New. From-SVN: r174337
2011-05-27sched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond.Bernd Schmidt6-4/+94
* sched-int.h (struct _haifa_deps_insn_data): New members cond and reverse_cond. (INSN_COND, INSN_REVERSE_COND): New macros. * sched-deps.c (deps_analyze_insn): Call sched_get_condition_with_rev once. (sched_get_condition_with_rev): Cache the results, and look them up if possible. (sched_analyze_insn): Destroy INSN_COND of previous insns if they are clobbered by the current insn. * target.def (exposed_pipline): New sched data hook. * doc/tm.texi.in: TARGET_SCHED_EXPOSED_PIPELINE: Add hook. * doc/tm.texi: Regenerate. From-SVN: r174336