1. 22 Jun, 2011 3 commits
  2. 21 Jun, 2011 32 commits
    • gogo-tree.cc (Gogo::define_builtin_function_trees): Change… · cb9a7db0
      gogo-tree.cc (Gogo::define_builtin_function_trees): Change BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.
      
      	* gogo-tree.cc (Gogo::define_builtin_function_trees): Change
      	BUILT_IN_ADD_AND_FETCH to BUILT_IN_SYNC_ADD_AND_FETCH.
      
      From-SVN: r175278
      Andrew MacLeod committed
    • move.h (__is_nothrow_swappable): Add. · ccb4f5a7
      2011-06-22  Daniel Krugler  <daniel.kruegler@googlemail.com>
      	    Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* include/bits/move.h (__is_nothrow_swappable): Add.
      	(swap(_Tp(&)[_Nm], _Tp(&)[_Nm])): Use noexcept.
      	* include/bits/algorithmfwd.h: Adjust.
      	* testsuite/25_algorithms/swap/noexcept.cc: New.
      
      
      Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
      
      From-SVN: r175277
      Daniel Krugler committed
    • re PR c++/49482 ([C++0x] unused parameter warning on lambda in function template) · 358bb337
      	PR c++/49482
      	* semantics.c (maybe_add_lambda_conv_op): Call mark_exp_read for
      	static fn parameters.
      
      From-SVN: r175273
      Jason Merrill committed
    • call.c (add_builtin_candidates): Use cv_unqualified rather than TYPE_MAIN_VARIANT. · ccaff498
      	* call.c (add_builtin_candidates): Use cv_unqualified rather than
      	TYPE_MAIN_VARIANT.
      	* pt.c (tsubst_arg_types): Likewise.
      	* except.c (build_throw): Use cv_unqualified.
      
      From-SVN: r175272
      Jason Merrill committed
    • re PR c++/49418 (G++ discards cv-quals from template parameter types) · 29367844
      	PR c++/49418
      	* call.c (cxx_type_promotes_to): Don't strip cv-quals.
      	* semantics.c (lambda_return_type): Strip them here.
      
      From-SVN: r175271
      Jason Merrill committed
    • cosmetic. Add sync_ to all the expand_builtin defines which do not match the… · e0a8ecf2
      cosmetic. Add sync_ to all the expand_builtin defines which do not match the actual builtin_sync_ names.
      
      2011-06-21  Andrew MacLeod  <amacleod@redhat.com>
      
      	* builtins.c: Add sync_ or SYNC__ to builtin names.
      	* sync-builtins.def: Add sync_ or SYNC__ to builtin names.
      	* omp-low.c: Add sync_ or SYNC__ to builtin names.
      	* c-family/c-common.c: Add sync_ or SYNC__ to builtin names.
      	* c-family/c-omp.c: Add sync_ or SYNC__ to builtin names.
      	* java/builtins.c: Add sync_ or SYNC__ to builtin names.
      	* java/expr.c: Add sync_ or SYNC__ to builtin names.
      	* cp/semantics.c: Add sync_ or SYNC__ to builtin names.
      	* fortran/trans-openmp.c: Add sync_ or SYNC__ to builtin names.
      	* fortran/trans-stmt.c: Add sync_ or SYNC__ to builtin names.
      	* fortran/trans-decl.c: Add sync_ or SYNC__ to builtin names.
      
      From-SVN: r175270
      Andrew MacLeod committed
    • re PR target/33049 ([avr] bit extraction non optimal, inversing logic solves problem) · 663827d3
      	PR target/33049
      	* config/avr/avr.md (extzv): New expander.
      	(*extzv): New insn.
      	(*extzv.qihi1, *extzv.qihi2): New insn-and-split.
      	* config/avr/constraints.md (C04): New constraint.
      	* doc/md.texi (Machine Constraints): Document it.
      
      From-SVN: r175269
      Georg-Johann Lay committed
    • re PR libgcj/49314 (md5test, shatest output FAILs on Tru64 UNIX) · 61d2c242
      	PR libgcj/49314
      	* gnu/gcj/convert/natIconv.cc (iconv_init): Pad in[] with NUL byte.
      
      From-SVN: r175266
      Rainer Orth committed
    • re PR middle-end/49489 (gcc.c-torture/execute/builtin-bitops-1.c fails on x86_64-linux) · 146aef0b
      	PR middle-end/49489
      	* builtins.c (expand_builtin_unop): Call expand_unop with 0 as
      	unsignedp argument instead of 1 for clrsb_optab.
      	(fold_builtin_bitop): Fix masking for width > HOST_BITS_PER_WIDE_INT
      	and < 2 * HOST_BITS_PER_WIDE_INT.  Optimize BUILT_IN_CLRSB*.
      	(fold_builtin_1): Call fold_builtin_binop for BUILT_IN_CLRSB*.
      	* optabs.c (widen_leading): Call widen_operand and expand_unop
      	with 0 as unsignedp argument instead of 1 for clrsb_optab.
      	(expand_unop): Subtract difference of mode sizes also for
      	clrsb_optab.
      
      From-SVN: r175265
      Jakub Jelinek committed
    • gensupport.c (add_define_attr): New static function. · 0bddee8e
      	* gensupport.c (add_define_attr): New static function.
      	(is_predicable): Allow multi-alternative lists for the "predicable"
      	attribute.
      	(modify_attr_enabled_ce, alter_attrs_for_insn): New static functions.
      	(process_one_cond_exec): Call alter_attrs_for_insn.
      	* doc/md.texi (Defining Attributes): Mention some standard names.
      	(Conditional Execution): Update documentation for "predicable".
      
      From-SVN: r175263
      Bernd Schmidt committed
    • shared-object.mk (c_flags-$o): Save c_flags. · e4d48a4d
      	* shared-object.mk (c_flags-$o): Save c_flags.
      	($(base)$(objext)): Use it.
      	($(base)_s$(objext)): Likewise.
      
      From-SVN: r175262
      Rainer Orth committed
    • Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. · 3801c801
      	libgcc/
      	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
      	* libgcc-std.ver.in (GCC_4.7.0): New section.
      
      	gcc/
      	* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
      	__builtin_clrsbll): Document.
      	* doc/rtl.texi (clrsb): New entry.
      	* optabs.c (widen_leading): Renamed from widen_clz.  New argument
      	UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
      	(expand_unop): Handle clrsb_optab.
      	(init_optabs): Initialize it.
      	* optabs.h (enum optab_index): New entry OTI_clrsb.
      	(clrsb_optab): Define.
      	* genopinit.c (optabs): Add an entry for it.
      	* builtins.c (expand_builtin): Handle clrsb builtin functions.
      	* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
      	BUILT_IN_CLRSBLL): New.
      	* rtl.def (CLRSB): New code.
      	* dwarf2out.c (mem_loc_descriptor): Handle it.
      	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
      	Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
      	and popcount.
      	* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
      	* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
      	(__ctzDI2): Move declaration.
      	* config/bfin/bfin.md (clrsbsi2): New expander.
      	(signbitssi2): Use the CLRSB rtx.
      	(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
      	* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
      
      	gcc/testsuite/
      	* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
      	my_clrsb test functions.
      	(main): Test clrsb.
      	* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
      	test_sll, test_ull): Add clrsb tests.
      	* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
      	clrsbll.
      
      From-SVN: r175261
      Bernd Schmidt committed
    • re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save"… · 95f5c775
      re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error)
      
      2011-06-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/49112
      	* class.c (gfc_find_derived_vtab): Make vtab and default initialization
      	symbols SAVE_IMPLICIT.
      
      2011-06-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/49112
      	* gfortran.dg/class_44.f03: New.
      
      From-SVN: r175257
      Janus Weil committed
    • ipa-inline-transform.c (inline_transform): Fix previous change. · 55f01229
      2011-06-21  Richard Guenther  <rguenther@suse.de>
      
      	* ipa-inline-transform.c (inline_transform): Fix previous
      	change.
      
      From-SVN: r175256
      Richard Guenther committed
    • re PR tree-optimization/49478 (ice in expand_widen_pattern_expr with -O3) · 5181cd6a
      
              PR tree-optimization/49478
              * tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
              with constant operand.
      
      From-SVN: r175255
      Ira Rosen committed
    • ipa-inline-transform.c (inline_transform): Fix typo. · e4ee3d70
      2011-06-21  Richard Guenther  <rguenther@suse.de>
      
      	* ipa-inline-transform.c (inline_transform): Fix typo.
      
      From-SVN: r175253
      Richard Guenther committed
    • re PR tree-optimization/49483 (unable to vectorize code equivalent to "scalbnf") · 7b7ec6c5
      2011-06-21  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/49483
      	* tree-vect-stmts.c (vectorizable_assignment): Also handle
      	VIEW_CONVERT_EXPR conversions.
      
      	* gcc.dg/vect/vect-120.c: New testcase.
      
      From-SVN: r175252
      Richard Guenther committed
    • gcc.pot: Regenerate. · ced4d0e3
      gcc/po:
      	* gcc.pot: Regenerate.
      
      libcpp/po:
      	* cpplib.pot: Regenerate.
      
      From-SVN: r175251
      Joseph Myers committed
    • Fixed several pathnames to be relative to gcc/testsuite. · 34a0d11c
      From-SVN: r175250
      Rainer Orth committed
    • gcc_update (gcc/config/avr/avr-tables.opt): New dependencies. · 1b916ca6
      contrib:
      	* gcc_update (gcc/config/avr/avr-tables.opt): New dependencies.
      
      gcc:
      	* config/avr/avr-mcus.def, config/avr/genopt.sh: New files.
      	* config/avr/avr-tables.opt: New file (generated).
      	* config.gcc (avr-*-*): Use avr/avr-tables.opt.
      	* config/avr/avr-devices.c (avr_mcu_types): Move contents to
      	avr-mcus.def.
      	* config/avr/avr.c (avr_help, TARGET_HELP): Remove.
      	(avr_option_override): Don't process -mmcu= argument here.  Set
      	avr_current_device using avr_mcu_index.
      	(avr_file_start): Use avr_current_device->name instead of
      	avr_mcu_name.
      	* config/avr/avr.opt (mmcu=): Use Enum.
      	* config/avr/t-avr (avr-devices.o): Update dependencies.
      	($(srcdir)/config/avr/avr-tables.opt): New.
      	* target.def (help): Remove.
      	* doc/tm.texi.in (TARGET_HELP): Remove.
      	* doc/tm.texi: Regenerate.
      	* opts.c: Don't include target.h.
      	(common_handle_option): Don't call targetm.help.
      	* system.h (TARGET_HELP): Poison.
      	* Makefile.in (opts.o): Update dependencies.
      
      From-SVN: r175248
      Joseph Myers committed
    • re PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64… · fce37f71
      re PR testsuite/49443 (gcc.dg/vect/vect-peel-3.c and vect-peel-4.c fail on IA64 after testsuite change)
      
      
              PR testsuite/49443
              * gcc.dg/vect/vect-peel-3.c: Expect to fail on vect_no_align
              targets.
              * gcc.dg/vect/vect-peel-4.c: Likewise.
      
      From-SVN: r175246
      Ira Rosen committed
    • usegld.h: New file. · 7ecfa34f
      	* config/usegld.h: New file.
      	* config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
      	(CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
      	(LIB_SPEC): Likewise.
      	Search /lib.
      	(LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
      	(RDYNAMIC_SPEC): Handle GNU ld.
      	[HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define.
      	(SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
      	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
      	[!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
      	(STACK_CHECK_STATIC_BUILTIN): Define.
      	* config/sol2.opt (compat-bsd): Remove.
      	* config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
      	* config/sol2-bi.h: New file.
      	* config/sol2-gld.h: Remove.
      	* config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
      	(NO_DBX_BNSYM_ENSYM): Remove.
      	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
      	(STACK_CHECK_STATIC_BUILTIN): Remove.
      	Test USE_GLD instead of TARGET_GNU_LD.
      	* config/i386/sol2-10.h: Rename to ...
      	* config/i386/sol2-bi.h .. this.
      	(SUBTARGET_EXTRA_SPECS): Redefine.
      	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
      	(MULTILIB_DEFAULTS): Remove.
      	(DEFAULT_ARCH32_P): Define.
      	(LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
      	(ARCH64_SUBDIR): Define.
      	Test USE_GLD instead of TARGET_GNU_LD.
      	(I386_EMULATION): Rename to ...
      	(ARCH32_EMULATION): ... this.
      	(X86_64_EMULATION): Rename to ...
      	(ARCH64_EMULATION): ... this.
      	(TARGET_LD_EMULATION): Remove.
      	(LINK_ARCH_SPEC): Remove.
      	* config/i386/sol2-gas.h: Remove.
      	* config/i386/t-sol2-10: Rename to ...
      	* config/i386/t-sol2-64: ... this.
      	* config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
      	(AS_SPARC64_FLAG): Define.
      	(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
      	(CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
      	depending on TARGET_CPU_DEFAULT.
      	(CPP_CPU_SPEC): Redefine.
      	(ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
      	(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
      	(CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
      	(ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
      	ASM_ARCH_DEFAULT_SPEC): Redefine.
      	(SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
      	LINK_ARCH_DEFAULT_SPEC.
      	[USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
      	[USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
      	(ARCH64_SUBDIR): Define.
      	(LINK_ARCH64_SPEC): Redefine.
      	(CC1_SPEC): Redefine.
      	(OPTION_DEFAULT_SPECS): Redefine.
      	(MULTILIB_DEFAULTS): Define.
      	(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
      	[USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
      	[USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
      	(NO_DBX_BNSYM_ENSYM): Remove.
      	(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
      	(ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
      	(TARGET_ASM_NAMED_SECTION): Likewise.
      	(STACK_CHECK_STATIC_BUILTIN): Remove.
      	* config/sparc/sol2-bi.h: Remove.
      	* config/sparc/sol2-gas-bi.h: Remove.
      	* config/sparc/sol2-gas.h: Remove.
      	* config/sparc/sol2-gld-bi.h: Remove.
      	* config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
      	common parts ...
      	(*-*-solaris2*): ... here.
      
      From-SVN: r175245
      Rainer Orth committed
    • Remove >>>> marker. · 1795c28e
      From-SVN: r175243
      Jakub Jelinek committed
    • PR middle-end/49139 fix always_inline diagnostics · 2ad97a1e
      From-SVN: r175242
      Christian Bruel committed
    • PR middle-end/49139 fix always_inline diagnostics · 3bb556ad
      From-SVN: r175240
      Christian Bruel committed
    • PR middle-end/49139 fix always_inline diagnostics · c9fc06dc
      From-SVN: r175239
      Christian Bruel committed
    • Makefile.in (dg_target_exps): Set. · f1ee724c
      	* Makefile.in (dg_target_exps): Set.
      	(check_gcc_parallelize): Parallelize gcc testing into 10 jobs
      	instead of 7, try to divide it more evenly.
      
      	* Make-lang.in (check_gfortran_parallelize): Parallelize dg.exp
      	into 6 jobs instead of 3.
      
      	* testsuite/Makefile.am (check_DEJAGNU_normal_targets): Add
      	check-DEJAGNUnormal[4-9].
      	(check-DEJAGNU): Split into 10 jobs for parallel testing instead of 4.
      	* testsuite/Makefile.in: Regenerated.
      
      From-SVN: r175238
      Jakub Jelinek committed
    • re PR c++/49216 ([C++0x] ICE on compiling new-expression with braced-init-list for arrays) · fe7eb484
      	PR c++/49216
      	* init.c (build_vec_init): Don't try to use a CONSTRUCTOR when
      	base is a pointer.
      	* typeck2.c (process_init_constructor_array): Use {} for classes,
      	too.
      	* call.c (convert_like_real): Handle substitution failure.
      
      From-SVN: r175237
      Jason Merrill committed
    • re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a… · 344bf2e1
      re PR c++/48138 (__attribute__((aligned)) should give an error when applied to a typedef or template parameter, at least in C++0x mode.)
      
      	PR c++/48138
      	* pt.c (canonicalize_type_argument): New.
      	(convert_template_argument, unify): Use it.
      
      From-SVN: r175236
      Jason Merrill committed
    • Daily bump. · 7bd16118
      From-SVN: r175235
      GCC Administrator committed
  3. 20 Jun, 2011 5 commits
    • pr49089: enable avx256 splitting unaligned load/store only when beneficial · 97ef5ae6
      	* config/i386/i386.c (avx256_split_unaligned_load): New definition.
      	(avx256_split_unaligned_store): New definition.
      	(ix86_option_override_internal): Enable avx256 unaligned load/store
      	splitting only when avx256_split_unaligned_load/store is set.
      
      From-SVN: r175230
      Changpeng Fang committed
    • re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays]) · fea54935
      2011-06-20  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.h (gfc_check_vardef_context): Update prototype.
              (iso_fortran_env_symbol): Handle derived types.
              (symbol_attribute): Add lock_comp.
              * expr.c (gfc_check_vardef_context): Add LOCK_TYPE check.
              * interface.c (compare_parameter, gfc_procedure_use): Handle
              LOCK_TYPE.
              (compare_actual_formal): Update
              gfc_check_vardef_context call.
              * check.c (gfc_check_atomic_def, gfc_check_atomic_ref): Ditto.
              * intrinsic.c (check_arglist): Ditto.
              * io.c (resolve_tag, gfc_resolve_dt, gfc_resolve_inquire):
              * Ditto.
              * iso-fortran-env.def (ISOFORTRAN_LOCK_TYPE): Add.
              * intrinsic.texi (ISO_FORTRAN_ENV): Document LOCK_TYPE.
              * module.c (mio_symbol_attribute): Handle lock_comp.
              (create_derived_type): New function.
              (use_iso_fortran_env_module): Call it to handle LOCK_TYPE.
              * parse.c (parse_derived): Add constraint check for LOCK_TYPE.
              * resolve.c (resolve_symbol, resolve_lock_unlock): Add
              * constraint
              checks for LOCK_TYPE.
              (gfc_resolve_iterator, resolve_deallocate_expr,
              resolve_allocate_expr, resolve_code, resolve_transfer): Update
              gfc_check_vardef_context call.
              * trans-stmt.h (gfc_trans_lock_unlock): New prototype.
              * trans-stmt.c (gfc_trans_lock_unlock): New function.
              * trans.c (trans_code): Handle LOCK and UNLOCK.
      
      2011-06-20  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/18918
              * gfortran.dg/coarray_lock_1.f90: Update dg-error.
              * gfortran.dg/coarray_lock_3.f90: New.
              * gfortran.dg/coarray/lock_1.f90: New.
      
      From-SVN: r175228
      Tobias Burnus committed
    • regrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a… · 998c75b6
      regrename.c (scan_rtx_reg): Handle the case where we write to an open chain in a smaller mode without...
      
      	* regrename.c (scan_rtx_reg): Handle the case where we write to an
      	open chain in a smaller mode without failing the entire block.
      
      From-SVN: r175225
      Bernd Schmidt committed
    • scandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and… · 222d3b39
      scandump.exp (scan-dump, [...]): Treat a missing dump file as unresolved and report the reason to the log file.
      
      	* lib/scandump.exp (scan-dump, scan-dump-times, scan-dump-not,
      	scan-dump-dem, scan-dump-dem-not): Treat a missing dump file as
      	unresolved and report the reason to the log file.
      
      From-SVN: r175224
      Janis Johnson committed
    • scanasm.exp (object-size): Move argument processing earlier to report errors… · b73b50c9
      scanasm.exp (object-size): Move argument processing earlier to report errors before verifying that the...
      
      	* lib/scanasm.exp (object-size): Move argument processing earlier
      	to report errors before verifying that the file exists.  Report
      	problems detected at runtime as unresolved instead of error and
      	report their reasons to the log file.
      
      From-SVN: r175223
      Janis Johnson committed