- 20 Dec, 2012 21 commits
-
-
PR middle-end/55750 * gimplify.c (gimplify_self_mod_expr): Don't force lvalue to pass is_gimple_min_lval. * gcc.c-torture/execute/pr55750.c: New test. From-SVN: r194647
Jakub Jelinek committed -
* config/s390/s390.md (*insv_rnsbg_noshift, *insv_rnsbg_srl): New. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194646
Richard Henderson committed -
* config/s390/s390.md (IXOR): New code iterator. (*r<IXOR>sbg_<GPR>_noshift): Rename from *insv<GPR>_or_z10_noshift; macro-ize to handle XOR too. (*r<IXOR>sbg_di_rotl, *r<IXOR>sbg_<GPR>_srl, *r<IXOR>sbg_<GPR>_sll): New patterns. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194645
Richard Henderson committed -
* config/s390/predicates.md (nonzero_shift_count_operand): New. * config/s390/s390-protos.h (s390_extzv_shift_ok): Declare. * config/s390/s390.c (s390_extzv_shift_ok): New function. * config/s390/s390.md (extzv): New expander. (*extzv<GPR>_zEC12, *extzv<GPR>_z10): New insns. (*pre_z10_extzv<GPR>): Rename from *extzv<GPR>; simplify with nonzero_shift_count_operand. (*extzv_<mode>_srl, *extzv_<mode>_sll): New insns. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194644
Richard Henderson committed -
* config/s390/s390.md (bitsize): New mode attr. (*extzv<GPR>, *extzv<GPR>, *insv<GPR>_zEC12, *insv<GPR>_z10): Use it. (extend<HQI><DSI>2, zero_extend<HQI>si2): Likewise. (zero_extend<HQI>di2, fixuns_trunc<BFP><GPR>2): Likewise. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194643
Richard Henderson committed -
* config/s390/s390.md (*anddi3_cc): Add risbg alternative. (*anddi3_cconly, *anddi3): Likewise. (*andsi3, *andsi3_cconly, *andsi3_zarch): Likewise. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194642
Richard Henderson committed -
* config/s390/s390.md (*insv_l_di_reg_extimm): Un-macroize from :P. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194641
Richard Henderson committed -
* config/s390/constraints.md (NxxDq, NxxSq): New. * config/s390/predicates.md (contiguous_bitmask_operand): New. * config/s390/s390.c (print_operand) ['e', 'f', 's', 't']: New operand letters. * config/s390/s390.md (bfstart, bfend): New mode attrs. (*insv<GPR>_zEC12_noshift): Use them. (*insv<GPR>_z10_noshift): Likewise. (*insv<GPR>_or_z10_noshift): Likewise. Co-Authored-By: Andreas Krebbel <Andreas.Krebbel@de.ibm.com> From-SVN: r194640
Richard Henderson committed -
2012-12-20 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/same_type_as_1.f03: Correct for improved message. From-SVN: r194639
Paul Thomas committed -
PR bootstrap/55202 * configure.ac <PLUGIN_LD_SUFFIX>: Use POSIX shell syntax. * configure: Regenerate. From-SVN: r194637
Thomas Schwinge committed -
2012-12-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR target/55754 * config/arm/arm.c (arm_canonicalize_comparison): Remove op0_preserve_value check for zero_extend to and transformation. From-SVN: r194636
Andreas Krebbel committed -
PR libstdc++/55741 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Check for Sleep. * config.h.in: Regenerate. * configure: Regenerate. * src/c++11/thread.cc (__sleep_for): Use Sleep if available. From-SVN: r194635
Jonathan Wakely committed -
Fix PR gcov-profile/55734 by using methods from hwint.c instead of builtins, to handle non-GCC and older versions of GCC. When building libgcov.a, however, hwint.c is not available, but we are always using the bootstrapped compiler and can therefore use the builtins. Use __builtin_popcount instead of __builtin_popcountll, since we are operating on an int. Use floor_log2 directly, instead of clz_hwi for the non-libgcov case, and handle situations where the size of the gcov_type is bigger than HOST_WIDE_INT. Verified that the various cases compiled by forcing different HOST_BITS_PER_WIDE_INT values. 2012-12-20 Teresa Johnson <tejohnson@google.com> Jakub Jelinek <jakub@redhat.com> PR gcov-profile/55734 * gcov-io.c (gcov_read_summary): Use __builtin_popcount instead of __builtin_popcountll when building libgcov.a, otherwise use popcount_hwi. (gcov_histo_index): When not building libgcov.a, use floor_log2 instead of __builtin_clzll. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r194634
Teresa Johnson committed -
re PR rtl-optimization/55740 (ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it) 2012-12-20 Richard Biener <rguenther@suse.de> PR middle-end/55740 * cfghooks.c (merge_blocks): Properly handle merging of two loop headers. * g++.dg/torture/pr55740.C: New testcase. From-SVN: r194633
Richard Biener committed -
PR c++/55619 * c-parser.c (c_parser_asm_operands): Remove CONVERT_P argument, don't call default_function_array_conversion nor c_fully_fold here. (c_parser_asm_statement): Adjust callers. * c-typeck.c (build_asm_expr): Call c_fully_fold on inputs and outputs here, and call default_function_array_conversion on inputs that don't need to be addressable. * c-c++-common/pr55619.c: New test. From-SVN: r194631
Jakub Jelinek committed -
PR c/39464 * c-typeck.c (convert_for_assignment): For -Wpointer-sign warning require that both c_common_unsigned_type as well as c_common_signed_type is the same for both mvl and mvr types. * gcc.dg/pr39464.c: New test. From-SVN: r194630
Jakub Jelinek committed -
2012-12-20 Roland Stigge <stigge@debian.org> Matthias Klose <doko@ubuntu.com> * config/rs6000/t-spe (MULTIARCH_DIRNAME): Remove. * config/rs6000/t-linux (MULTIARCH_DIRNAME): Define name for powerpc-linux-gnuspe. Co-Authored-By: Matthias Klose <doko@ubuntu.com> From-SVN: r194629
Roland Stigge committed -
2012-12-20 Tobias Burnus <burnus@net-b.de> PR fortran/54818 * trans-intrinsic.c (gfc_conv_intrinsic_transfer): Ensure that the string length is of type gfc_charlen_type_node. 2012-12-20 Tobias Burnus <burnus@net-b.de> PR fortran/54818 * gfortran.dg/transfer_intrinsic_4.f: New. From-SVN: r194628
Tobias Burnus committed -
2012-12-19 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/unlimited_polymorphic_2.f03: Remove bad test. From-SVN: r194626
Paul Thomas committed -
From-SVN: r194625
GCC Administrator committed -
2012-12-19 Paul Thomas <pault@gcc.gnu.org> * array.c (resolve_array_list): Apply C4106. * check.c (gfc_check_same_type_as): Exclude polymorphic entities from check for extensible types. Improved error for disallowed argument types to name the offending type. * class.c : Update copyright date. (gfc_class_null_initializer): Add argument for initialization expression and deal with unlimited polymorphic typespecs. (get_unique_type_string): Give unlimited polymorphic entities a type string. (gfc_intrinsic_hash_value): New function. (gfc_build_class_symbol): Incorporate unlimited polymorphic entities. (gfc_find_derived_vtab): Deal with unlimited polymorphic entities. (gfc_find_intrinsic_vtab): New function. * decl.c (gfc_match_decl_type_spec): Match typespec for unlimited polymorphic type. (gfc_match_data_decl): Skip to 'ok' if unlimited polymorphic. expr.c (gfc_check_pointer_assign): Apply C717. If unlimited polymorphic lvalue, find rvalue vtable for all typespecs, except unlimited polymorphic expressions. (gfc_check_vardef_context): Handle unlimited polymorphic entities. * gfortran.h : Add unlimited polymorphic attribute. Add second arg to gfc_class_null_initializer primitive and primitive for gfc_find_intrinsic_vtab. Add UNLIMITED_POLY to detect unlimited polymorphic expressions. * interface.c (gfc_compare_types): If expr1 is unlimited polymorphic, always return 1. If expr2 is unlimited polymorphic enforce C717. (gfc_compare_interfaces): Skip past conditions that do not apply for unlimited polymorphic entities. (compare_parameter): Make sure that an unlimited polymorphic, allocatable or pointer, formal argument is matched by an unlimited polymorphic actual argument. (compare_actual_formal): Ensure that an intrinsic vtable exists to match an unlimited polymorphic formal argument. * match.c (gfc_match_allocate): Type kind parameter does not need to match an unlimited polymorphic allocate-object. (alloc_opt_list): An unlimited polymorphic allocate-object requires a typespec or a SOURCE tag. (select_intrinsic_set_tmp): New function. (select_type_set_tmp): Call new function. If it returns NULL, build a derived type or class temporary instead. (gfc_match_type_is): Remove restriction to derived types only. Bind(C) or sequence derived types not permitted. * misc (gfc_typename): Printed CLASS(*) for unlimited polymorphism. * module.c : Add AB_UNLIMITED_POLY to pass unlimited polymorphic attribute to and from modules. * resolve.c (resolve_common_vars): Unlimited polymorphic entities cannot appear in common blocks. (resolve_deallocate_expr): Deallocate unlimited polymorphic enities. (resolve_allocate_expr): Likewise for allocation. Make sure vtable exists. (gfc_type_is_extensible): Unlimited polymorphic entities are not extensible. (resolve_select_type): Handle unlimited polymorphic selectors. Ensure that length type parameters are assumed and that names for intrinsic types are generated. (resolve_fl_var_and_proc): Exclude select type temporaries from test of extensibility of type. (resolve_fl_variable): Likewise for test that assumed character length must be a dummy or a parameter. (resolve_fl_derived0): Return SUCCESS unconditionally for unlimited polymorphic entities. Also, allow unlimited polymorphic components. (resolve_fl_derived): Return SUCCESS unconditionally for unlimited polymorphic entities. (resolve_symbol): Return early with unlimited polymorphic entities. * simplifiy.c : Update copyright year. (gfc_simplify_extends_type_of): No simplification possible for unlimited polymorphic arguments. * symbol.c (gfc_use_derived): Nothing to do for unlimited polymorphic "derived type". (gfc_type_compatible): Return unity if ts1 is unlimited polymorphic. * trans-decl.c (create_function_arglist) Formal arguments without a character length should be treated in the same way as passed lengths. (gfc_trans_deferred_vars): Nullify the vptr of unlimited polymorphic pointers. Avoid unlimited polymorphic entities triggering gcc_unreachable. * trans-expr.c (gfc_conv_intrinsic_to_class): New function. (gfc_trans_class_init_assign): Make indirect reference of src.expr. (gfc_trans_class_assign): Expression NULL of unknown type should set NULL vptr on lhs. Treat C717 cases where lhs is a derived type and the rhs is unlimited polymorphic. (gfc_conv_procedure_call): Handle the conversion of a non-class actual argument to match an unlimited polymorphic formal argument. Suppress the passing of a character string length in this case. Make sure that calls to the character __copy function have two character string length arguments. (gfc_conv_initializer): Pass the initialization expression to gfc_class_null_initializer. (gfc_trans_subcomponent_assign): Ditto. (gfc_conv_structure): Move handling of _size component. trans-intrinsic.c: (gfc_conv_same_type_as): Handle conditions where unlimited polymorphic arguments have null vptr. * trans-stmt.c (trans_associate_var): Correctly treat array temporaries associated with unlimited polymorphic selectors. Recover the overwritten dtype for the descriptor. Use the _size field of the vptr for character string lengths. (gfc_trans_allocate): Cope with unlimited polymorphic allocate objects; especially with character source tags. (reset_vptr): New function. (gfc_trans_deallocate): Call it. * trans-types.c (gfc_get_derived_type): Detect unlimited polymorphic types and deal with cases where the derived type of components is null. * trans.c : Update copyright year. (trans_code): Call gfc_trans_class_assign for C717 cases where the lhs is not unlimited polymorphic. 2012-12-19 Paul Thomas <pault@gcc.gnu.org> * intrinsics/extends_type_of.c : Return correct results for null vptrs. 2012-12-19 Paul Thomas <pault@gcc.gnu.org> * gfortran.dg/unlimited_polymorphic_1.f03: New test. * gfortran.dg/unlimited_polymorphic_2.f03: New test. * gfortran.dg/unlimited_polymorphic_3.f03: New test. * gfortran.dg/same_type_as.f03: Correct for improved message. From-SVN: r194622
Paul Thomas committed
-
- 19 Dec, 2012 17 commits
-
-
2012-12-19 Tobias Burnus <burnus@net-b.de> PR fortran/55733 * trans-decl.c (gfc_create_string_length): Avoid setting TREE_STATIC for automatic variables with -fno-automatic. From-SVN: r194621
Tobias Burnus committed -
PR c++/55724 * pt.c (type_unification_real): Re-combine post-deduction loops. From-SVN: r194620
Jason Merrill committed -
2012-12-19 Matthias Klose <doko@ubuntu.com> Import GNU Classpath (20121202). * Regenerate class and header files. * Regenerate auto* files. * sources.am, gcj/javaprims.h: Regenerate. * gnu/java/nio/FileLockImpl.java (close): New override. From-SVN: r194618
Matthias Klose committed -
2012-12-19 Matthias Klose <doko@ubuntu.com> * config/i386/t-kfreebsd (MULTIARCH_DIRNAME): Add comma to separate arguments in make function. From-SVN: r194617
Matthias Klose committed -
2012-12-19 Matthias Klose <doko@ubuntu.com> * Makefile.def (install-target-libgo): Depend on install-target-libatomic. * Makefile.in: Regenerate. From-SVN: r194616
Matthias Klose committed -
* config/i386/i386.h (enum ix86_tune_indices): Add X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE. (TARGET_AVOID_MEM_OPND_FOR_CMOVE): New define. * config/i386/i386.c (initial_ix86_tune_features) <X86TUNE_AVOID_MEM_OPND_FOR_CMOVE>: Initialize. * config/i386/i386.md (splitters to avoid cmove memory operands): New. (peephole2s to avoid cmove memory operands): New. From-SVN: r194614
Uros Bizjak committed -
2012-12-19 Tobias Burnus <burnus@net-b.de> * testsuite/libgomp.fortran/fortran.exp: Set -fintrinsic-modules-path. From-SVN: r194613
Tobias Burnus committed -
gcc/ 2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/arm/arm.md (f_minmaxs, f_minmaxd): New types. * config/arm/vfp.md (smax<mode>3): New pattern. (smin<mode>3): Likewise. gcc/testsuite/ 2012-12-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * gcc.target/arm/vmaxnmdf.c: New test. * gcc.target/arm/vmaxnmsf.c: Likewise. * gcc.target/arm/vminnmsf.c: Likewise. * gcc.target/arm/vminnmdf.c: Likewise. From-SVN: r194612
Kyrylo Tkachov committed -
libgomp/ 2012-12-19 Tobias Burnus <burnus@net-b.de> * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90. gcc/testsuite/ 2012-12-19 Tobias Burnus <burnus@net-b.de> * gfortran.dg/gomp/use_intrinsic_1.f90: Moved to libgomp/testsuite/libgomp.fortran/use_intrinsic_1.f90. From-SVN: r194611
Tobias Burnus committed -
2012-12-19 Richard Biener <rguenther@suse.de> * targhooks.h (default_canonicalize_comparison): Fix prototype. * targhooks.c (default_canonicalize_comparison): Define. From-SVN: r194610
Richard Biener committed -
2012-12-19 Richard Biener <rguenther@suse.de> PR tree-optimization/55736 PR tree-optimization/55703 * gimplify.c (prune_expr_location): New function. (unshare_expr_without_location): Likewise. * tree.h (unshare_expr_without_location): Declare. * ipa-prop.c (prune_expression_for_jf): Remove. (prune_expression_for_jf_1): Likewise. (ipa_set_jf_constant): Use unshare_expr_without_location. (ipa_set_jf_arith_pass_through): Likewise. (determine_known_aggregate_parts): Likewise. * tree-switch-conversion.c (build_constructors): Use unshare_expr_without_location on all constructor elements. * gcc.dg/lto/pr55703_0.c: New testcase. From-SVN: r194609
Richard Biener committed -
2012-12-19 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * target.def: Define canonicalize_comparison hook. * targhooks.h (default_canonicalize_comparison): New prototype. * targhooks.c (default_canonicalize_comparison): New function. * doc/tm.texi: Add documentation for the new target hook. * doc/tm.texi.in: Likewise. * combine.c (try_combine): Adjust to use the target hook. * config/alpha/alpha.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/alpha/alpha.c (alpha_canonicalize_comparison): New function. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/arm/arm-protos.h (arm_canonicalize_comparison): Remove prototype. * config/arm/arm.c (arm_canonicalize_comparison): Add new parameter. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/arm/arm.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/s390/s390-protos.h (s390_canonicalize_comparison): Remove prototype. * config/s390/s390.c (s390_canonicalize_comparison): Add new parameter. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/s390/s390.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/sh/sh-protos.h (sh_canonicalize_comparison): Remove prototype. * config/sh/sh.c (sh_canonicalize_comparison): Add new prototype. New function overloading the old one. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/sh/sh.h (CANONICALIZE_COMPARISON): Remove macro definition. * config/spu/spu.c (spu_canonicalize_comparison): New function. (TARGET_CANONICALIZE_COMPARISON): New macro definition. * config/spu/spu.h (CANONICALIZE_COMPARISON): Remove macro definition. From-SVN: r194608
Andreas Krebbel committed -
PR debug/55730 * dwarf2out.c (mem_loc_descriptor): Ignore CLOBBER. * valtrack.c (gen_lowpart_for_debug): New function. (propagate_for_debug): Temporarily set rtl_hooks.gen_lowpart_no_emit to gen_lowpart_for_debug. * gcc.dg/debug/pr55730.c: New test. From-SVN: r194607
Jakub Jelinek committed -
PR tree-optimization/55683 * g++.dg/ipa/devirt-9.C: New testcase. * ipa-prop.c (try_make_edge_direct_virtual_call): Look into constants for binfo. From-SVN: r194606
Jan Hubicka committed -
gcc/ChangeLog: 2012-12-19 Terry Guo <terry.guo@arm.com> * config/arm/arm.c (thumb_find_work_register): Check argument register number based on current PCS. gcc/testsuite/ChangeLog: 2012-12-19 Terry Guo <terry.guo@arm.com> * gcc.target/arm/thumb-find-work-register.c: New. From-SVN: r194605
Terry Guo committed -
2012-12-19 Tobias Burnus <burnus@net-b.de> Jakub Jelinek <jakub@redhat.com> Janus Weil <janus@gcc.gnu.org> PR fortran/55636 PR fortran/55733 * gfortran.h (GFC_PREFIX): Define. * trans-decl.c (gfc_create_string_length): For VAR_DECLs that will be TREE_STATIC, use GFC_PREFIX to mangle the names. Handle -fno-automatic (gfc_trans_deferred_vars): Don't free variables SAVEd via -fno-automatic. 2012-12-19 Tobias Burnus <burnus@net-b.de> PR fortran/55733 * gfortran.dg/save_5.f90: New. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> Co-Authored-By: Janus Weil <janus@gcc.gnu.org> From-SVN: r194604
Tobias Burnus committed -
From-SVN: r194597
GCC Administrator committed
-
- 18 Dec, 2012 2 commits
-
-
PR c/39464 * c-typeck.c (convert_for_assignment): For -Wpointer-sign warning require that both c_common_unsigned_type as well as c_common_signed_type is the same for both mvl and mvr types. * gcc.dg/pr39464.c: New test. From-SVN: r194594
Jakub Jelinek committed -
gcc/go: PR go/55201 * gospec.c: Revert last patch. gcc/testsuite: PR go/55201 * lib/go.exp: Revert last patch. From-SVN: r194593
Ian Lance Taylor committed
-