1. 26 Mar, 2013 19 commits
  2. 25 Mar, 2013 21 commits
    • walt's avatar
      * config/tilegx/tilegx.c (expand_set_cint64_one_inst): Inline · 19f27a0c
      walt authored
             tests for constraint J, K, N, P.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197074 138bc75d-0d04-0410-961f-82ee72b054a4
      19f27a0c
    • walt's avatar
      Switch eh data to always use pc relative/indirect encoding, to avoid · b429d641
      walt authored
      relocations of unaligned words.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197073 138bc75d-0d04-0410-961f-82ee72b054a4
      b429d641
    • sje's avatar
      2013-03-25 Steve Ellcey <sellcey@mips.com> · 14844884
      sje authored
      	* config/mips/mmips-cpus.def (74kc, 74kf2_1, 74kf, 74kf, 74kf1_1,
      	74kfx, 74kx, 74kf3_2): Add PTF_AVOID_IMADD.
      	* config/mips/mips.c (mips_option_override): Set IMADD default.
      	* config/mips/mips.h (PTF_AVOID_IMADD): New.
      	(ISA_HAS_MADD_MSUB): Remove MIPS16 check.
      	(GENERATE_MADD_MSUB): Remove TUNE_74K check, add MIPS16 check.
      	* config/mips/mips.md (mimadd): New flag for integer madd/msub.
      	* doc/invoke.texi (-mimadd/-mno-imadd): New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197072 138bc75d-0d04-0410-961f-82ee72b054a4
      14844884
    • jason's avatar
      PR c++/56699 · 4688e4d0
      jason authored
      	* semantics.c (maybe_resolve_dummy): Make sure that the enclosing
      	class is derived from the type of the object.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197069 138bc75d-0d04-0410-961f-82ee72b054a4
      4688e4d0
    • jason's avatar
      PR c++/56692 · 1a6a4eaa
      jason authored
      	* g++.dg/cpp0x/lambda/lambda-this15.C: New.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197068 138bc75d-0d04-0410-961f-82ee72b054a4
      1a6a4eaa
    • jason's avatar
      PR c++/52014 · 525dcd0c
      jason authored
      	* semantics.c (lambda_expr_this_capture): Don't capture 'this' in
      	unevaluated context.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197063 138bc75d-0d04-0410-961f-82ee72b054a4
      525dcd0c
    • paolo's avatar
      /cp · 167f5413
      paolo authored
      2013-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56722
      	* decl.c (cp_finish_decl): Check DECL_LANG_SPECIFIC before
      	DECL_TEMPLATE_INSTANTIATION.
      
      /testsuite
      2013-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/56722
      	* g++.dg/cpp0x/range-for23.C: New.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197062 138bc75d-0d04-0410-961f-82ee72b054a4
      167f5413
    • tiloschwarz's avatar
      2013-03-25 Tilo Schwarz <tilo@tilo-schwarz.de> · c4a0180a
      tiloschwarz authored
              PR libfortran/52512
              * io/list_read.c (nml_parse_qualifier): To check for a derived type
              don't use the namelist head element type but the current element type.
              (nml_get_obj_data): Add current namelist element type to
              nml_parse_qualifier call.
      
      2013-03-25  Tilo Schwarz  <tilo@tilo-schwarz.de>
      
              PR libfortran/52512
              * gfortran.dg/namelist_79.f90: New.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197061 138bc75d-0d04-0410-961f-82ee72b054a4
      c4a0180a
    • law's avatar
      * tree-ssa-dom.c (record_equivalences_from_incoming_edge): Rework · 5aa24950
      law authored
      	slightly to avoid creating and folding useless trees.  Simplify
              slightly by restricting to INTEGER_CSTs and using int_fits_type_p.
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197060 138bc75d-0d04-0410-961f-82ee72b054a4
      5aa24950
    • ian's avatar
      * alloc.c: #include <sys/types.h>. · db79a293
      ian authored
      	* mmap.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197057 138bc75d-0d04-0410-961f-82ee72b054a4
      db79a293
    • uros's avatar
      * config/i386/i386.md (*zero_extendsidi2): Merge with · c7222732
      uros authored
      	*zero_extendsidi2_rex64.  Use x64 and nox64 isa attributes.
      	* config/i386/predicates.md (x86_64_zext_operand): Rename from
      	x86_64_zext_general_operand.  Use nonimmediate_operand on 32bit
      	targets.  Clarify comment.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197056 138bc75d-0d04-0410-961f-82ee72b054a4
      c7222732
    • jamborm's avatar
      2013-03-25 Martin Jambor <mjambor@suse.cz> · 30a240df
      jamborm authored
      	* ipa-prop.c (ipa_write_jump_function): Stream simple and aritmetic
      	pass-through jump functions differently.
      	(ipa_read_jump_function): Likewise.  Also use setter functions to set
      	up jump functions.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197055 138bc75d-0d04-0410-961f-82ee72b054a4
      30a240df
    • jamborm's avatar
      2013-03-25 Martin Jambor <mjambor@suse.cz> · 265c4eb2
      jamborm authored
      	* ipa-cp.c (ipa_get_indirect_edge_target): Renamed to
      	ipa_get_indirect_edge_target_1, added parameter agg_reps and ability to
      	process it.
      	(ipa_get_indirect_edge_target): New function.
      	(devirtualization_time_bonus): New parameter known_aggs, pass it to
      	ipa_get_indirect_edge_target.  Update all callers.
      	(ipcp_discover_new_direct_edges): New parameter aggvals.  Pass it to
      	ipa_get_indirect_edge_target_1 instead of calling
      	ipa_get_indirect_edge_target.
      	(create_specialized_node): Pass aggvlas to
      	ipcp_discover_new_direct_edges.
      
      testsuite/
      	* gcc.dg/ipa/ipcp-agg-9.c: New test.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197054 138bc75d-0d04-0410-961f-82ee72b054a4
      265c4eb2
    • burnus's avatar
      2013-03-25 Tobias Burnus <burnus@net-b.de> · 07f0c434
      burnus authored
              PR fortran/38536
              PR fortran/38813
              PR fortran/38894
              PR fortran/39288
              PR fortran/40963
              PR fortran/45824
              PR fortran/47023
              PR fortran/47034
              PR fortran/49023
              PR fortran/50269
              PR fortran/50612
              PR fortran/52426
              PR fortran/54263
              PR fortran/55343
              PR fortran/55444
              PR fortran/55574
              PR fortran/56079
              PR fortran/56378
              * check.c (gfc_var_strlen): Properly handle 0-sized string.
              (gfc_check_c_sizeof): Use is_c_interoperable, add checks.
              (is_c_interoperable, gfc_check_c_associated, gfc_check_c_f_pointer,
              gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc): New
              functions.
              * expr.c (check_inquiry): Add c_sizeof, compiler_version and
              compiler_options.
              (gfc_check_pointer_assign): Refine function result check.
              gfortran.h (gfc_isym_id): Add GFC_ISYM_C_ASSOCIATED,
              GFC_ISYM_C_F_POINTER, GFC_ISYM_C_F_PROCPOINTER, GFC_ISYM_C_FUNLOC,
              GFC_ISYM_C_LOC.
              (iso_fortran_env_symbol, iso_c_binding_symbol): Handle
              NAMED_SUBROUTINE.
              (generate_isocbinding_symbol): Update prototype.
              (get_iso_c_sym): Remove.
              (gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New prototypes.
              * intrinsic.c (gfc_intrinsic_subroutine_by_id): New function.
              (gfc_intrinsic_sub_interface): Use it.
              (add_functions, add_subroutines): Add missing C-binding intrinsics.
              (gfc_intrinsic_func_interface): Add special case for c_loc.
              gfc_isym_id_by_intmod, gfc_isym_id_by_intmod_sym): New functions.
              (gfc_intrinsic_func_interface, gfc_intrinsic_sub_interface): Use them.
              * intrinsic.h (gfc_check_c_associated, gfc_check_c_f_pointer,
              gfc_check_c_f_procpointer, gfc_check_c_funloc, gfc_check_c_loc,
              gfc_resolve_c_loc, gfc_resolve_c_funloc): New prototypes.
              * iresolve.c (gfc_resolve_c_loc, gfc_resolve_c_funloc): New
              functions.
              * iso-c-binding.def: Split PROCEDURE into NAMED_SUBROUTINE and
              NAMED_FUNCTION.
              * iso-fortran-env.def: Add NAMED_SUBROUTINE for completeness.
              * module.c (create_intrinsic_function): Support subroutines and
              derived-type results.
              (use_iso_fortran_env_module): Update calls.
              (import_iso_c_binding_module): Ditto; update calls to
              generate_isocbinding_symbol.
              * resolve.c (find_arglists): Skip for intrinsic symbols.
              (gfc_resolve_intrinsic): Find intrinsic subs via id.
              (is_scalar_expr_ptr, gfc_iso_c_func_interface,
              set_name_and_label, gfc_iso_c_sub_interface): Remove.
              (resolve_function, resolve_specific_s0): Remove calls to those.
              (resolve_structure_cons): Fix handling.
              * symbol.c (gen_special_c_interop_ptr): Update c_ptr/c_funptr
              generation.
              (gen_cptr_param, gen_fptr_param, gen_shape_param,
              build_formal_args, get_iso_c_sym): Remove.
              (std_for_isocbinding_symbol): Handle NAMED_SUBROUTINE.
              (generate_isocbinding_symbol): Support hidden symbols and
              using c_ptr/c_funptr symtrees for nullptr defs.
              * target-memory.c (gfc_target_encode_expr): Fix handling
              of c_ptr/c_funptr.
              * trans-expr.c (conv_isocbinding_procedure): Remove.
              (gfc_conv_procedure_call): Remove call to it.
              (gfc_trans_subcomponent_assign, gfc_conv_expr): Update handling
              of c_ptr/c_funptr.
              * trans-intrinsic.c (conv_isocbinding_function,
              conv_isocbinding_subroutine): New.
              (gfc_conv_intrinsic_function, gfc_conv_intrinsic_subroutine):
              Call them.
              * trans-io.c (transfer_expr): Fix handling of c_ptr/c_funptr.
              * trans-types.c (gfc_typenode_for_spec,
              gfc_get_derived_type): Ditto.
              (gfc_init_c_interop_kinds): Handle NAMED_SUBROUTINE.
      
      2013-03-25  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/38536
              PR fortran/38813
              PR fortran/38894
              PR fortran/39288
              PR fortran/40963
              PR fortran/45824
              PR fortran/47023
              PR fortran/47034
              PR fortran/49023
              PR fortran/50269
              PR fortran/50612
              PR fortran/52426
              PR fortran/54263
              PR fortran/55343
              PR fortran/55444
              PR fortran/55574
              PR fortran/56079
              PR fortran/56378
              * gfortran.dg/c_assoc_2.f03: Update dg-error wording.
              * gfortran.dg/c_f_pointer_shape_test.f90: Ditto.
              * gfortran.dg/c_f_pointer_shape_tests_3.f03: Ditto.
              * gfortran.dg/c_f_pointer_tests_5.f90: Ditto.
              * gfortran.dg/c_funloc_tests_2.f03: Ditto.
              * gfortran.dg/c_funloc_tests_5.f03: Ditto.
              * gfortran.dg/c_funloc_tests_6.f90: Ditto.
              * gfortran.dg/c_loc_tests_10.f03: Add -std=f2008.
              * gfortran.dg/c_loc_tests_11.f03: Ditto, update dg-error.
              * gfortran.dg/c_loc_tests_16.f90: Ditto.
              * gfortran.dg/c_loc_tests_4.f03: Ditto.
              * gfortran.dg/c_loc_tests_15.f90: Update dg-error wording.
              * gfortran.dg/c_loc_tests_3.f03: Valid since F2003 TC5.
              * gfortran.dg/c_loc_tests_8.f03: Ditto.
              * gfortran.dg/c_ptr_tests_14.f90: Update scan-tree-dump-times.
              * gfortran.dg/c_ptr_tests_15.f90: Ditto.
              * gfortran.dg/c_sizeof_1.f90: Fix invalid code.
              * gfortran.dg/iso_c_binding_init_expr.f03: Update dg-error wording.
              * gfortran.dg/pr32601_1.f03: Ditto.
              * gfortran.dg/storage_size_2.f08: Remove dg-error.
              * gfortran.dg/blockdata_7.f90: New.
              * gfortran.dg/c_assoc_4.f90: New.
              * gfortran.dg/c_f_pointer_tests_6.f90: New.
              * gfortran.dg/c_f_pointer_tests_7.f90: New.
              * gfortran.dg/c_funloc_tests_8.f90: New.
              * gfortran.dg/c_loc_test_17.f90: New.
              * gfortran.dg/c_loc_test_18.f90: New.
              * gfortran.dg/c_loc_test_19.f90: New.
              * gfortran.dg/c_loc_test_20.f90: New.
              * gfortran.dg/c_sizeof_5.f90: New.
              * gfortran.dg/iso_c_binding_rename_3.f90: New.
              * gfortran.dg/transfer_resolve_2.f90: New.
              * gfortran.dg/transfer_resolve_3.f90: New.
              * gfortran.dg/transfer_resolve_4.f90: New.
              * gfortran.dg/pr32601.f03: Update dg-error.
              * gfortran.dg/c_ptr_tests_13.f03: Update dg-error.
              * gfortran.dg/c_ptr_tests_9.f03: Fix test case.
      
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197053 138bc75d-0d04-0410-961f-82ee72b054a4
      07f0c434
    • ktkachov's avatar
      gcc/ · 91cb50d2
      ktkachov authored
      2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* config/arm/arm.md (f_sels, f_seld): New types.
      	(*cmov<mode>): New pattern.
      	* config/arm/predicates.md (arm_vsel_comparison_operator): New
      	predicate.
      
      gcc/testsuite/
      2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
      
      	* gcc.target/arm/vseleqdf.c: New test.
      	* gcc.target/arm/vseleqsf.c: Likewise.
      	* gcc.target/arm/vselgedf.c: Likewise.
      	* gcc.target/arm/vselgesf.c: Likewise.
      	* gcc.target/arm/vselgtdf.c: Likewise.
      	* gcc.target/arm/vselgtsf.c: Likewise.
      	* gcc.target/arm/vselledf.c: Likewise.
      	* gcc.target/arm/vsellesf.c: Likewise.
      	* gcc.target/arm/vselltdf.c: Likewise.
      	* gcc.target/arm/vselltsf.c: Likewise.
      	* gcc.target/arm/vselnedf.c: Likewise.
      	* gcc.target/arm/vselnesf.c: Likewise.
      	* gcc.target/arm/vselvcdf.c: Likewise.
      	* gcc.target/arm/vselvcsf.c: Likewise.
      	* gcc.target/arm/vselvsdf.c: Likewise.
      	* gcc.target/arm/vselvssf.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197052 138bc75d-0d04-0410-961f-82ee72b054a4
      91cb50d2
    • ktkachov's avatar
      gcc/ · 9793b57b
      ktkachov authored
      Fix ChangeLog formatting.
      
      gcc/testsuite
      2013-03-25  Kyrylo Tkachov  <kyrylo.tkachov at arm.com>
      
      	* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Move test
      	body from here...
      	* gcc.target/aarch64/atomic-comp-swap-release-acquire.x: ... to here.
      	* gcc.target/aarch64/atomic-op-acq_rel.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-acq_rel.x: ... to here.
      	* gcc.target/aarch64/atomic-op-acquire.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-acquire.x: ... to here.
      	* gcc.target/aarch64/atomic-op-char.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-char.x: ... to here.
      	* gcc.target/aarch64/atomic-op-consume.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-consume.x: ... to here.
      	* gcc.target/aarch64/atomic-op-int.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-int.x: ... to here.
      	* gcc.target/aarch64/atomic-op-relaxed.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-relaxed.x: ... to here.
      	* gcc.target/aarch64/atomic-op-release.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-release.x: ... to here.
      	* gcc.target/aarch64/atomic-op-seq_cst.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-seq_cst.x: ... to here.
      	* gcc.target/aarch64/atomic-op-short.c: Move test body from here...
      	* gcc.target/aarch64/atomic-op-short.x: ... to here.
      	* gcc.target/arm/atomic-comp-swap-release-acquire.c: New test.
      	* gcc.target/arm/atomic-op-acq_rel.c: Likewise.
      	* gcc.target/arm/atomic-op-acquire.c: Likewise.
      	* gcc.target/arm/atomic-op-char.c: Likewise.
      	* gcc.target/arm/atomic-op-consume.c: Likewise.
      	* gcc.target/arm/atomic-op-int.c: Likewise.
      	* gcc.target/arm/atomic-op-relaxed.c: Likewise.
      	* gcc.target/arm/atomic-op-release.c: Likewise.
      	* gcc.target/arm/atomic-op-seq_cst.c: Likewise.
      	* gcc.target/arm/atomic-op-short.c: Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197051 138bc75d-0d04-0410-961f-82ee72b054a4
      9793b57b
    • ktietz's avatar
      * config/i386/cygwin.S: Replace use of _WIN64 by __x86_64__. · d2adc174
      ktietz authored
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197050 138bc75d-0d04-0410-961f-82ee72b054a4
      d2adc174
    • ktietz's avatar
      * config/i386/xm-mingw32.h (__USE_MINGW_ANSI_STDIO): Enable · 1ff5fe3b
      ktietz authored
              POSIX-printf for mingw-hosted  builds.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197049 138bc75d-0d04-0410-961f-82ee72b054a4
      1ff5fe3b
    • rguenth's avatar
      2013-03-25 Richard Biener <rguenther@suse.de> · 0565e0b5
      rguenth authored
      	PR middle-end/56694
      	* tree-eh.c (lower_eh_must_not_throw): Strip BLOCKs from the
      	must-not-throw stmt location.
      
      	* g++.dg/torture/pr56694.C: New testcase.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197047 138bc75d-0d04-0410-961f-82ee72b054a4
      0565e0b5
    • ktkachov's avatar
      2013-03-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> · 47d66364
      ktkachov authored
      	* config/arm/arm.c (arm_emit_load_exclusive): Add acq parameter.
      	Emit load-acquire versions when acq is true.
      	(arm_emit_store_exclusive): Add rel parameter.
      	Emit store-release versions when rel is true.
      	(arm_split_compare_and_swap): Use acquire-release instructions
      	instead.
      	of barriers when appropriate.
      	(arm_split_atomic_op): Likewise.
      	* config/arm/arm.h (TARGET_HAVE_LDACQ): New macro.
      	* config/arm/unspecs.md (VUNSPEC_LAX): New unspec.
      	(VUNSPEC_SLX): Likewise.
      	(VUNSPEC_LDA): Likewise.
      	(VUNSPEC_STL): Likewise.
      	* config/arm/sync.md (atomic_load<mode>): New pattern.
      	(atomic_store<mode>): Likewise.
      	(arm_load_acquire_exclusive<mode>): Likewise.
      	(arm_load_acquire_exclusivesi): Likewise.
      	(arm_load_acquire_exclusivedi): Likewise.
      	(arm_store_release_exclusive<mode>): Likewise.
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197046 138bc75d-0d04-0410-961f-82ee72b054a4
      47d66364
    • clm's avatar
      2013-03-25 Catherine Moore <clm@codesourcery.com> · 087a99ba
      clm authored
      	* config/mips/constraints.md (u, Udb7 Uead, Uean, Uesp, Uib3,
      	Uuw6, Usb4, ZS, ZT, ZU, ZV, ZW): New constraints.
      	* config/mip/predicates.md (lwsp_swsp_operand,
      	lw16_sw16_operand, lhu16_sh16_operand, lbu16_operand,
      	sb16_operand, db4_operand, db7_operand, ib3_operand,
      	sb4_operand, ub4_operand, uh4_operand, uw4_operand,
      	uw5_operand, uw6_operand, addiur2_operand, addiusp_operand,
      	andi16_operand): New predicates.
      	* config/mips/mips.md (compression): New attribute.
      	(enabled): New attribute.
      	(length): Consider compression in computing length.
      	(shift_compression): New code attribute.
      	(*add<mode>3): New operands. Record compression.
      	(sub<mode>3): Likewise.
      	(one_cmpl<mode>2): Likewise.
      	(*and<mode>3): Likewise.
      	(*ior<mode>3): Likewise.
      	(unnamed pattern for xor): Likewise.
      	(*zero_extend<SHORT:mode><GPR:mode>2): Likewise.
      	(*<optab><mode>3): Likewise.
      	(*mov<mode>_internal: Likewise.
      	* config/mips/mips-protos.h (mips_signed_immediate_p): New.
      	(mips_unsigned_immediate_p): New.
      	(umips_lwsp_swsp_address_p): New.
      	(m16_based_address_p): New.
      	* config/mips/mips-protos.h (mips_signed_immediate_p): New prototype.
      	(mips_unsigned_immediate_p): New prototype.
      	(lwsp_swsp_address_p): New prototype.
      	(m16_based_address_p): New prototype.
      	* config/mips/mips.c (mips_unsigned_immediate_p): New function.
      	(mips_signed_immediate_p): New function.
      	(m16_based_address_p): New function.
      	(lwsp_swsp_address_p): New function.
      	(mips_print_operand_punctuation): Recognize short delay slot insns
      	for microMIPS.add<mode>3"
      
      
      git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197042 138bc75d-0d04-0410-961f-82ee72b054a4
      087a99ba