OSDN Git Service
bernds [Tue, 21 Jun 2011 14:38:38 +0000 (14:38 +0000)]
* 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".
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175263
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 21 Jun 2011 14:26:13 +0000 (14:26 +0000)]
* shared-object.mk (c_flags-$o): Save c_flags.
($(base)$(objext)): Use it.
($(base)_s$(objext)): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175262
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Tue, 21 Jun 2011 14:16:39 +0000 (14:16 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175261
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Tue, 21 Jun 2011 12:12:51 +0000 (12:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175257
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 21 Jun 2011 12:07:19 +0000 (12:07 +0000)]
2011-06-21 Richard Guenther <rguenther@suse.de>
* ipa-inline-transform.c (inline_transform): Fix previous
change.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175256
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 21 Jun 2011 11:58:33 +0000 (11:58 +0000)]
PR tree-optimization/49478
* tree-vect-loop.c (vectorizable_reduction): Handle DOT_PROD_EXPR
with constant operand.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175255
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 21 Jun 2011 11:13:08 +0000 (11:13 +0000)]
2011-06-21 Richard Guenther <rguenther@suse.de>
* ipa-inline-transform.c (inline_transform): Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175253
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Tue, 21 Jun 2011 11:02:38 +0000 (11:02 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175252
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 21 Jun 2011 10:33:57 +0000 (10:33 +0000)]
gcc/po:
* gcc.pot: Regenerate.
libcpp/po:
* cpplib.pot: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175251
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 21 Jun 2011 10:32:38 +0000 (10:32 +0000)]
Fixed several pathnames to be relative to gcc/testsuite.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175250
138bc75d-0d04-0410-961f-
82ee72b054a4
jsm28 [Tue, 21 Jun 2011 10:22:19 +0000 (10:22 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175248
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Tue, 21 Jun 2011 09:01:23 +0000 (09:01 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175246
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Tue, 21 Jun 2011 08:53:06 +0000 (08:53 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175245
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 21 Jun 2011 08:15:36 +0000 (08:15 +0000)]
Remove >>>> marker.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175243
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 21 Jun 2011 06:48:45 +0000 (06:48 +0000)]
PR middle-end/49139 fix always_inline diagnostics
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175242
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 21 Jun 2011 06:45:05 +0000 (06:45 +0000)]
PR middle-end/49139 PR other/43564 make sure the inline function is inlined
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175241
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 21 Jun 2011 06:43:26 +0000 (06:43 +0000)]
PR middle-end/49139 fix always_inline diagnostics
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175240
138bc75d-0d04-0410-961f-
82ee72b054a4
chrbr [Tue, 21 Jun 2011 06:42:05 +0000 (06:42 +0000)]
PR middle-end/49139 fix always_inline diagnostics
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175239
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Tue, 21 Jun 2011 06:27:35 +0000 (06:27 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175238
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 21 Jun 2011 02:24:17 +0000 (02:24 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175237
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Tue, 21 Jun 2011 02:24:09 +0000 (02:24 +0000)]
PR c++/48138
* pt.c (canonicalize_type_argument): New.
(convert_template_argument, unify): Use it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175236
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Tue, 21 Jun 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175235
138bc75d-0d04-0410-961f-
82ee72b054a4
cfang [Mon, 20 Jun 2011 21:52:32 +0000 (21:52 +0000)]
pr49089: enable avx256 splitting unaligned load/store only when beneficial
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175230
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Mon, 20 Jun 2011 21:12:39 +0000 (21:12 +0000)]
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175228
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 20 Jun 2011 17:16:10 +0000 (17:16 +0000)]
* regrename.c (scan_rtx_reg): Handle the case where we write to an
open chain in a smaller mode without failing the entire block.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175225
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 20 Jun 2011 17:08:37 +0000 (17:08 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175224
138bc75d-0d04-0410-961f-
82ee72b054a4
janis [Mon, 20 Jun 2011 17:07:24 +0000 (17:07 +0000)]
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175223
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 20 Jun 2011 17:03:16 +0000 (17:03 +0000)]
Don't check zero/sign extended hard registers.
2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47725
* combine.c (cant_combine_insn_p): Don't check zero/sign
extended hard registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175222
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 20 Jun 2011 15:05:05 +0000 (15:05 +0000)]
* config/rs6000/rs6000.c (rs6000_cannot_force_const_mem): Match
CONST high part large-toc address.
(rs6000_tls_referenced_p): Make static.
* config/rs6000/rs6000-protos.h (rs6000_tls_referenced_p): Delete.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175219
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Mon, 20 Jun 2011 14:53:48 +0000 (14:53 +0000)]
Check zero/sign extended hard registers.
2011-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/47725
* combine.c (cant_combine_insn_p): Check zero/sign extended
hard registers.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175218
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:40:38 +0000 (14:40 +0000)]
PR c++/47080
* call.c (rejection_reason_code): Add rr_explicit_conversion.
(print_z_candidate): Handle it.
(explicit_conversion_rejection): New.
(build_user_type_conversion_1): Reject an explicit conversion
function that requires more than a qualification conversion.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175217
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:40:29 +0000 (14:40 +0000)]
PR c++/47635
* decl.c (grokdeclarator): Don't set ctype to an ENUMERAL_TYPE.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175216
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:40:19 +0000 (14:40 +0000)]
PR c++/48138
* tree.c (strip_typedefs): Use build_aligned_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175215
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:40:10 +0000 (14:40 +0000)]
PR c++/49205
* call.c (sufficient_parms_p): Allow parameter packs too.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175214
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:40:01 +0000 (14:40 +0000)]
PR c++/37089
* cp-demangle.c (d_print_comp): Handle reference smashing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175213
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:39:53 +0000 (14:39 +0000)]
PR c++/43321
* semantics.c (describable_type): Remove.
* cp-tree.h: Likewise.
* decl.c (cp_finish_decl): Don't call it.
* init.c (build_new): Likewise.
* parser.c (cp_parser_omp_for_loop): Likewise.
* pt.c (tsubst_decl): Likewise.
(do_auto_deduction): If we fail in a template, try again
at instantiation time.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175212
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Mon, 20 Jun 2011 14:39:44 +0000 (14:39 +0000)]
PR c++/43831
* parser.c (cp_parser_lambda_introducer): Complain about redundant
captures.
* semantics.c (add_capture): Likewise.
(register_capture_members): Clear IDENTIFIER_MARKED.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175211
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Mon, 20 Jun 2011 12:15:58 +0000 (12:15 +0000)]
Fix PR target/49385
2011-06-20 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/49385
* config/arm/thumb2.md (*thumb2_movhi_insn): Make sure atleast
one of the operands is a register.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175208
138bc75d-0d04-0410-961f-
82ee72b054a4
ktietz [Mon, 20 Jun 2011 11:49:27 +0000 (11:49 +0000)]
ChangeLog gcc/
2011-06-20 Kai Tietz <ktietz@redhat.com>
* fold-const.c (fold_binary_loc): Add missing
folding for truth-not operations in combination
with binary and.
ChangeLog gcc/testsuite/
2011-06-20 Kai Tietz <ktietz@redhat.com>
* gcc.dg/binop-notand1.c: New test.
* gcc.dg/binop-notand2.c: New test.
* gcc.dg/binop-notand3.c: New test.
* gcc.dg/binop-notand4.c: New test.
* gcc.dg/binop-notand5.c: New test.
* gcc.dg/binop-notand6.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175206
138bc75d-0d04-0410-961f-
82ee72b054a4
paolo [Mon, 20 Jun 2011 11:05:45 +0000 (11:05 +0000)]
2011-06-20 Daniel Krugler <daniel.kruegler@googlemail.com>
Paolo Carlini <paolo.carlini@oracle.com>
* include/std/tuple (__conv_types, __one_by_one_convertible,
__all_convertible): Add.
(tuple): Use the latter.
(tuple<_T1>): Remove.
* testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error
line number.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175204
138bc75d-0d04-0410-961f-
82ee72b054a4
bernds [Mon, 20 Jun 2011 10:29:46 +0000 (10:29 +0000)]
* regrename.c (do_replace): Don't update notes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175203
138bc75d-0d04-0410-961f-
82ee72b054a4
bstarynk [Mon, 20 Jun 2011 08:05:02 +0000 (08:05 +0000)]
2011-06-20 Pierre Vittet <piervit@pvittet.com>
* c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
handler.
(gen_pragma_handler): New union.
(internal_pragma_handler): New type.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.
* c-pragma.c (registered_pragmas, c_register_pragma_1)
(c_register_pragma, c_register_pragma_with_expansion)
(c_invoke_pragma_handler): Changed to work with
internal_pragma_handler.
(c_register_pragma_with_data)
(c_register_pragma_with_expansion_and_data): New functions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175202
138bc75d-0d04-0410-961f-
82ee72b054a4
amodra [Mon, 20 Jun 2011 05:12:10 +0000 (05:12 +0000)]
* config/rs6000/rs6000.c (create_TOC_reference): Wrap high part
of toc-relative address in CONST.
(rs6000_delegitimize_address): Recognize changed address.
(rs6000_legitimize_reload_address): Likewise.
(rs6000_emit_move): Don't force these constants to memory.
* config/rs6000/rs6000.md (tls_gd, tls_gd_high): Wrap high part of
toc-relative address in CONST.
(tls_ld, tls_ld_high, tls_got_dtprel, tls_got_dtprel_high): Likewise.
(tls_got_tprel, tls_got_tprel_high, largetoc_high): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175200
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Mon, 20 Jun 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175199
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Sun, 19 Jun 2011 17:54:24 +0000 (17:54 +0000)]
PR target/49461
* mh-darwin: Turn off -pie on darwin11 and later.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175192
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sun, 19 Jun 2011 00:18:00 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175188
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 18 Jun 2011 15:35:10 +0000 (15:35 +0000)]
Use long long builtins of zero counting for x86-64.
2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
* longlong.h (count_leading_zeros): Use long long builtin for
x86-64.
(count_trailing_zeros): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175183
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Sat, 18 Jun 2011 15:06:26 +0000 (15:06 +0000)]
PR target/49461
* libjava/configure.ac (SYSTEMSPEC): Pass -no_pie for darwin11.
* libjava/configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175182
138bc75d-0d04-0410-961f-
82ee72b054a4
hjl [Sat, 18 Jun 2011 14:48:14 +0000 (14:48 +0000)]
Properly check if .init_array can be used with .ctors on targets.
2011-06-18 H.J. Lu <hongjiu.lu@intel.com>
PR other/49325
* acinclude.m4 (gcc_AC_INITFINI_ARRAY): Properly check if
.init_array can be used with .ctors on targets.
* configure: Regenerated.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175181
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 18 Jun 2011 12:56:56 +0000 (12:56 +0000)]
PR testsuite/49432
* obj-c++.dg/invalid-type-1.mm: Adjust for new error wording.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175178
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Sat, 18 Jun 2011 12:36:45 +0000 (12:36 +0000)]
2011-06-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/49400
* decl.c (gfc_match_procedure): Allow PROCEDURE declarations inside
BLOCK constructs.
2011-06-18 Janus Weil <janus@gcc.gnu.org>
PR fortran/49400
* gfortran.dg/proc_ptr_31.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175177
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 18 Jun 2011 11:02:45 +0000 (11:02 +0000)]
* tree-sra.c (type_internals_preclude_sra_p) <ARRAY_TYPE>: Return true
if the element type is volatile.
ada/
* gcc-interface/decl.c (gnat_to_gnu_component_type): Use GNAT_TYPE
local variable throughout. Remove useless call to Base_Type.
(gnat_to_gnu_field): Use GNAT_FIELD_TYPE local variable throughout.
Take it also into account for the volatileness of the field. Set the
TREE_SIDE_EFFECTS flag as well in this case. Reorder some warnings.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175176
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 18 Jun 2011 10:51:43 +0000 (10:51 +0000)]
oops, comitted with wrong PR# :(
PR lto/48246
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175175
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 18 Jun 2011 10:48:08 +0000 (10:48 +0000)]
PR lto/23754
* lto.c (lto_1_to_1_map): Don't create empty partitions.
(lto_balanced_map): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175174
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 18 Jun 2011 10:31:26 +0000 (10:31 +0000)]
* gcc-interface/trans.c (Identifier_to_gnu): Don't set TREE_THIS_NOTRAP
on a dereference built for a by-ref object if it has an address clause.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175172
138bc75d-0d04-0410-961f-
82ee72b054a4
ebotcazou [Sat, 18 Jun 2011 10:18:38 +0000 (10:18 +0000)]
* einfo.ads (Address_Taken): Document use for the second argument of
Asm_Input and Asm_Output attributes.
* sem_attr.adb (Analyze_Attribute) <Attribute_Asm_Input>: If the second
argument is an entity name, then set Address_Taken on it.
<Attribute_Asm_Output>: Likewise.
* gcc-interface/trans.c (lvalue_required_for_attribute_p): Handle the
Attr_Asm_Input and Attr_Asm_Output attributes explicitly.
(gnat_to_gnu) <N_Code_Statement>: If an operand is going to end up in
memory and is a CONST_DECL, retrieve its corresponding VAR_DECL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175171
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 18 Jun 2011 08:33:47 +0000 (08:33 +0000)]
* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175169
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 18 Jun 2011 08:33:10 +0000 (08:33 +0000)]
* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175168
138bc75d-0d04-0410-961f-
82ee72b054a4
hubicka [Sat, 18 Jun 2011 08:31:03 +0000 (08:31 +0000)]
* lto-symtab.c (lto_varpool_replace_node): Remove code handling
extra name aliases.
(lto_symtab_resolve_can_prevail_p): Likewise.
(lto_symtab_merge_cgraph_nodes): Update alias_of pointers.
* cgraphbuild.c (record_reference): Remove extra body alias code.
(mark_load): Likewise.
(mark_store): Likewise.
* cgraph.h (varpool_node): Remove extra_name filed;
add alias_of and extraname_alias.
(varpool_create_variable_alias, varpool_for_node_and_aliases): Declare.
(varpool_alias_aliased_node): New inline function.
(varpool_variable_node): New function.
* cgraphunit.c (handle_alias_pairs): Handle also variable aliases.
* ipa-ref.c (ipa_record_reference): Allow aliases on variables.
* lto-cgraph.c (lto_output_varpool_node): Update streaming.
(input_varpool_node): Likewise.
* lto-streamer-out.c (produce_symtab): Remove extra name aliases.
(varpool_externally_visible_p): Remove extra body alias code.
(function_and_variable_visibility): Likewise.
* tree-ssa-structalias.c (associate_varinfo_to_alias_1): New function.
(ipa_pta_execute): Use it.
* varpool.c (varpool_remove_node): Remove extra name alias code.
(varpool_mark_needed_node): Likewise.
(varpool_analyze_pending_decls): Analyze aliases.
(assemble_aliases): New functoin.
(varpool_assemble_decl): Use it.
(varpool_create_variable_alias): New function.
(varpool_extra_name_alias): Rewrite.
(varpool_for_node_and_aliases): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175167
138bc75d-0d04-0410-961f-
82ee72b054a4
jb [Sat, 18 Jun 2011 07:53:09 +0000 (07:53 +0000)]
PR 49296 List directed read of string ending in EOF.
libgfortran ChangeLog entry:
2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/49296
* io/list_read.c (read_character): Accept EOF as a separator when
reading string.
testsuite ChangeLog entry:
2011-06-18 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/48296
* gfortran.dg/read_list_eof_1.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175166
138bc75d-0d04-0410-961f-
82ee72b054a4
jakub [Sat, 18 Jun 2011 06:43:38 +0000 (06:43 +0000)]
PR target/49411
* config/i386/i386.c (ix86_expand_multi_arg_builtins): If
last_arg_constant and last argument doesn't match its predicate,
for xop_vpermil2<mode>3 error out and for xop_rotl<mode>3
if it is CONST_INT, mask it, otherwise expand using rotl<mode>3.
(ix86_expand_sse_pcmpestr, ix86_expand_sse_pcmpistr): Fix
spelling of error message.
* config/i386/sse.md (sse4a_extrqi, sse4a_insertqi,
vcvtps2ph, *vcvtps2ph, *vcvtps2ph_store, vcvtps2ph256): Use
const_0_to_255_operand instead of const_int_operand.
Revert:
2011-05-09 Uros Bizjak <ubizjak@gmail.com>
* config/i386/sse.md (blendbits): Remove mode attribute.
(<sse4_1>_blend<ssemodesuffix><avxsizesuffix>): Use const_int_operand
instead of const_0_to_<blendbits>_operand for operand 3 predicate.
Check integer value of operand 3 in insn constraint.
* gcc.target/i386/testimm-1.c: New test.
* gcc.target/i386/testimm-2.c: New test.
* gcc.target/i386/testimm-3.c: New test.
* gcc.target/i386/testimm-4.c: New test.
* gcc.target/i386/testimm-5.c: New test.
* gcc.target/i386/testimm-6.c: New test.
* gcc.target/i386/testimm-7.c: New test.
* gcc.target/i386/testimm-8.c: New test.
* gcc.target/i386/xop-vpermil2px-2.c: New test.
* gcc.target/i386/xop-rotate1-int.c: New test.
* gcc.target/i386/xop-rotate2-int.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175165
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Sat, 18 Jun 2011 05:58:38 +0000 (05:58 +0000)]
PR c++/49458
* call.c (convert_class_to_reference_1): Allow binding function
lvalue to rvalue reference.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175164
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Sat, 18 Jun 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175163
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:08:01 +0000 (20:08 +0000)]
PR c++/43912
Generate proxy VAR_DECLs for better lambda debug info.
* cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): Add lambda operator().
(LAMBDA_EXPR_PENDING_PROXIES): New.
(struct tree_lambda_expr): Add pending_proxies.
* name-lookup.c (pushdecl_maybe_friend_1): Handle capture shadowing.
(qualify_lookup): Use is_lambda_ignored_entity.
* parser.c (cp_parser_lambda_expression): Don't adjust field names.
Call insert_pending_capture_proxies.
(cp_parser_lambda_introducer): Use this_identifier.
(cp_parser_lambda_declarator_opt): Call the object parameter
of the op() "__closure" instead of "this".
(cp_parser_lambda_body): Call build_capture_proxy.
* semantics.c (build_capture_proxy, is_lambda_ignored_entity): New.
(insert_pending_capture_proxies, insert_capture_proxy): New.
(is_normal_capture_proxy, is_capture_proxy): New.
(add_capture): Add __ to field names here, return capture proxy.
(add_default_capture): Use this_identifier, adjust to expect
add_capture to return a capture proxy.
(outer_lambda_capture_p, thisify_lambda_field): Remove.
(finish_id_expression, lambda_expr_this_capture): Adjust.
(build_lambda_expr): Initialize LAMBDA_EXPR_PENDING_PROXIES.
* pt.c (tsubst_copy_and_build): Check that LAMBDA_EXPR_PENDING_PROXIES
is null.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175158
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:53 +0000 (20:07 +0000)]
* name-lookup.c (pushdecl_maybe_friend_1): Do check for shadowing
of artificial locals.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175157
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:45 +0000 (20:07 +0000)]
* parser.c (cp_parser_lambda_expression): Clear
LAMBDA_EXPR_THIS_CAPTURE after parsing.
* pt.c (tsubst_copy_and_build): Make sure it isn't set.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175156
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:33 +0000 (20:07 +0000)]
* cp-tree.h (struct tree_lambda_expr): Change common to typed.
Move non-pointers to end of struct.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175155
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:26 +0000 (20:07 +0000)]
pushdecl_with_scope comment
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175154
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:20 +0000 (20:07 +0000)]
* pt.c (tsubst_decl): Handle DECL_VALUE_EXPR on reference.
* decl.c (check_initializer): Handle DECL_VALUE_EXPR_P.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175153
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Fri, 17 Jun 2011 20:07:13 +0000 (20:07 +0000)]
* semantics.c (finish_non_static_data_member): Preserve dereference
in template.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175152
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Fri, 17 Jun 2011 20:03:04 +0000 (20:03 +0000)]
2011-06-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/48699
* check.c (gfc_check_move_alloc): If 'TO' argument is polymorphic,
make sure the vtab is present.
2011-06-17 Janus Weil <janus@gcc.gnu.org>
PR fortran/48699
* gfortran.dg/move_alloc_5.f90: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175151
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Fri, 17 Jun 2011 08:33:13 +0000 (08:33 +0000)]
PR libgcj/49315
* include/solaris-signal.h: Rename to ...
* include/posix-signal.h: ... this.
(SA_FLAGS): Define.
(SIGNAL_HANDLER): Handle non-SA_SIGINFO case.
(sa_signal_handler): Define.
(_INIT_SIG_HANDLER): New macro.
(INIT_SEGV, INIT_FPE): Use it.
* configure.ac (SIGNAL_HANDLER): Use it on alpha*-dec-osf*,
mips-sgi-irix*, *-*-solaris2*
* configure: Regenerate.
* include/aix-signal.h: Refer to AIX.
* configure.host (alpha*-dec-osf*): Enable can_unwind_signal.
(mips-sgi-irix6*): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175138
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Fri, 17 Jun 2011 02:20:11 +0000 (02:20 +0000)]
PR rtl-optimization/48542
* gcc.dg/torture/pr48542.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175133
138bc75d-0d04-0410-961f-
82ee72b054a4
hp [Fri, 17 Jun 2011 02:18:24 +0000 (02:18 +0000)]
PR rtl-optimization/48542
* reload.c (find_equiv_reg): Stop looking when finding a
setjmp-type call.
* reload1.c (reload_as_needed): Invalidate all reload
registers when crossing a setjmp-type call.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175132
138bc75d-0d04-0410-961f-
82ee72b054a4
gccadmin [Fri, 17 Jun 2011 00:19:24 +0000 (00:19 +0000)]
Daily bump.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175129
138bc75d-0d04-0410-961f-
82ee72b054a4
burnus [Thu, 16 Jun 2011 23:09:36 +0000 (23:09 +0000)]
2011-06-17 Daniel Carrera <dcarrera@gmail.com>
* caf/single.c (_gfortran_caf_register): Store the address
of all static coarrays in a linked list.
(_gfortran_caf_finalize): Free memory of staic coarrays.
* caf/mpi.c (_gfortran_caf_register): Store the address
of all static coarrays in a linked list. Initialize MPI
if necessary.
(_gfortran_caf_finalize): Free memory of staic coarrays.
(_gfortran_caf_init): Check if MPI is already initialized
before initializing again.
* caf/libcaf.h: Add a type to caf_register_t to distinguish
static coarrays and add the type caf_static_t to make the
linked list of static coarrays.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175124
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:09:28 +0000 (22:09 +0000)]
PR c++/44160
* parser.c (cp_parser_lambda_body): Share code between
simple and complex cases instead of using cp_parser_function_body.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175123
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:09:20 +0000 (22:09 +0000)]
PR c++/45378
* decl.c (check_initializer): Check narrowing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175122
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:09:12 +0000 (22:09 +0000)]
PR c++/45399
* lex.c (lex_raw_string): Don't check for embedded NUL.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175121
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:09:05 +0000 (22:09 +0000)]
PR c++/49229
* pt.c (tsubst_decl) [FUNCTION_DECL]: Handle substitution failure.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175120
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:08:57 +0000 (22:08 +0000)]
PR c++/49251
* semantics.c (finish_id_expression): Mark even dependent
variables as used.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175119
138bc75d-0d04-0410-961f-
82ee72b054a4
jason [Thu, 16 Jun 2011 22:05:46 +0000 (22:05 +0000)]
PR c++/49420
* error.c (dump_template_argument): Don't try to omit default
template args from an argument pack.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175117
138bc75d-0d04-0410-961f-
82ee72b054a4
law [Thu, 16 Jun 2011 21:52:00 +0000 (21:52 +0000)]
* tree-ssa-threadupdate.c (struct redirection_data): New field
intermediate_edge.
(THREAD_TARGET2): Define.
(redirection_data_eq): Also check that the intermediate edge is
equal.
(lookup_redirection_data): Drop useless argument. Extract the
outgoing_edge and intermediate edge from E. Callers updated.
(copy_phi_args, update_destination_phis): New functions.
(fix_duplicate_block_edges): Likewise.
(create_edge_and_update_destination_phis): Duplicate all the edges
hung off e->aux. Use copy_phi_args.
(create_duplicates): Use fix_duplicate_block_edges.
(fixup_template_block): Likewise.
(redirect_edges): If necessary, redirect the joiner block's incoming
edge to the duplicate of the joiner block.
(thread_block): Don't muck up loops when threading through a joiner
block.
(thread_through_loop_header): Handle threading through a joiner
block.
(mark_threaded_blocks, register_jump_thread): Likewise.
* tree-flow.h (register_jump_thread): Add new argument. Callers
updated.
* tree-ssa-threadedge.c (phi_args_equal_on_edges): New function.
(thread_across_edge): Handle threading through a joiner block.
* gcc.dg/builtin-object-size-1.c: Update to handle changes from
improved jump threading.
* gcc.dg/builtin-object-size-2.c: Likewise.
* gcc.dg/tree-ssa/
20030728-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175114
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 16 Jun 2011 21:45:26 +0000 (21:45 +0000)]
2011-06-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/49074
* interface.c (gfc_extend_assign): Propagate the locus from the
assignment to the type-bound procedure call.
2011-06-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/49074
* gfortran.dg/typebound_assignment_3.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175113
138bc75d-0d04-0410-961f-
82ee72b054a4
sje [Thu, 16 Jun 2011 20:38:49 +0000 (20:38 +0000)]
2011-06-16 Steve Ellcey <sje@cup.hp.com>
PR testsuite/48727
* g++.dg/opt/devirt2.C: Change xfail rule to target.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175112
138bc75d-0d04-0410-961f-
82ee72b054a4
jamborm [Thu, 16 Jun 2011 20:21:21 +0000 (20:21 +0000)]
2011-06-16 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/49343
* tree-sra.c (build_ref_for_model): Use component_ref_field_offset to
calculate offset, provide 2nd operand for the new COMPONENT_REF.
* testsuite/gnat.dg/discr31.adb: New test.
* testsuite/gnat.dg/discr31.ads: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175111
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 16 Jun 2011 19:38:34 +0000 (19:38 +0000)]
2011-06-16 Iain Sandoe <iains@gcc.gnu.org>
* config/darwin-protos.h (machopic_select_rtx_section): Move to
inside RTX_CODE ifdef.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175110
138bc75d-0d04-0410-961f-
82ee72b054a4
mrs [Thu, 16 Jun 2011 19:22:01 +0000 (19:22 +0000)]
Fix typo.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175108
138bc75d-0d04-0410-961f-
82ee72b054a4
ro [Thu, 16 Jun 2011 18:52:21 +0000 (18:52 +0000)]
* gcc.dg/debug/pr49032.c: Prune mips-tfile warning.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175107
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 16 Jun 2011 18:00:54 +0000 (18:00 +0000)]
2011-06-16 Tom de Vries <tom@codesourcery.com>
PR target/45098
* gcc.target/arm/ivopts-3.c: Update test.
* gcc.target/arm/ivopts-5.c: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175106
138bc75d-0d04-0410-961f-
82ee72b054a4
vries [Thu, 16 Jun 2011 17:57:08 +0000 (17:57 +0000)]
2011-06-16 Tom de Vries <tom@codesourcery.com>
PR target/45098
* tree-ssa-loop-niter.c (infer_loop_bounds_from_pointer_arith): Disallow
NULL pointer for pointer arithmetic.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175105
138bc75d-0d04-0410-961f-
82ee72b054a4
ramana [Thu, 16 Jun 2011 13:51:17 +0000 (13:51 +0000)]
Revert r174940
Fix PR target/49398
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175104
138bc75d-0d04-0410-961f-
82ee72b054a4
amylaar [Thu, 16 Jun 2011 13:45:47 +0000 (13:45 +0000)]
PR middle-end/46500
gcc:
* doc/tm.texi.in: Update Copyright date.
* doc/tm.texi: Regenerate.
* targhooks.c (default_setup_incoming_varargs): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(default_pretend_outgoing_varargs_named): Likewise.
(hook_pass_by_reference_must_pass_in_stack): Likewise.
(hook_callee_copies_named): Likewise.
(default_function_arg_advance): Likewise.
(default_function_arg): Likewise.
(default_function_incoming_arg): Likewise.
(hook_bool_CUMULATIVE_ARGS_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
* targhooks.h (default_setup_incoming_varargs): Likewise.
(default_pretend_outgoing_varargs_named): Likewise.
(hook_pass_by_reference_must_pass_in_stack): Likewise.
(hook_callee_copies_named): Likewise.
(default_function_arg_advance): Likewise.
(default_function_arg): Likewise.
(default_function_incoming_arg): Likewise.
(hook_bool_CUMULATIVE_ARGS_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_true): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false): Likewise.
(hook_bool_CUMULATIVE_ARGS_mode_tree_bool_true): Likewise.
(hook_int_CUMULATIVE_ARGS_mode_tree_bool_0): Likewise.
* target.def (pass_by_reference): Likewise.
(setup_incoming_varargs, strict_argument_naming): Likewise.
(pretend_outgoing_varargs_named, callee_copies): Likewise.
(arg_partial_bytes, function_arg_advance, function_arg): Likewise.
(function_incoming_arg): Likewise.
* target.h: Don't include "tm.h" .
(cumulative_args_t): New typedef.
[GCC_TM_H] (get_cumulative_args): New static inline function.
[GCC_TM_H] (pack_cumulative_args): Likewise.
* config/alpha/alpha.c (alpha_function_arg): Replace CUMULATIVE_ARGS*
argument type with cumulative_args_t.
(alpha_function_arg_advance, alpha_arg_partial_bytes): Likewise.
(alpha_pass_by_reference, alpha_setup_incoming_varargs): Likewise.
* config/frv/frv.c (frv_setup_incoming_varargs): Likewise.
(frv_arg_partial_bytes, frv_function_arg): Likewise.
(frv_function_incoming_arg, frv_function_arg_advance): Likewise.
(frv_function_arg_1): Likewise.
* config/s390/s390.c (s390_pass_by_reference): Likewise.
(s390_function_arg_advance, s390_function_arg): Likewise.
* config/m32c/m32c.c (m32c_function_arg): Likewise.
(m32c_pass_by_reference, m32c_function_arg_advance): Likewise.
(m32c_strict_argument_naming): Likewise.
* config/spu/spu.c (spu_pass_by_reference, spu_function_arg): Likewise.
(spu_function_arg_advance): Likewise.
(spu_setup_incoming_varargs): Likewise. Make static.
* config/spu/spu-protos.h (spu_setup_incoming_varargs):
Remove prototype.
* config/sparc/sparc.c (sparc_strict_argument_naming): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(sparc_pass_by_reference, sparc_function_arg_advance): Likewise.
(sparc_function_arg, sparc_function_incoming_arg): Likewise.
(sparc_arg_partial_bytes, sparc_function_arg_1): Likewise.
* config/mep/mep.c (mep_setup_incoming_varargs): Likewise.
(mep_pass_by_reference, mep_function_arg): Likewise.
(mep_function_arg_advance): Likewise.
* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
(m32r_pass_by_reference, m32r_arg_partial_bytes): Likewise.
(m32r_function_arg, m32r_function_arg_advance): Likewise.
* config/rx/rx.c (rx_function_arg, rx_function_arg_advance): Likewise.
* config/i386/i386.c (ix86_function_arg_advance): Likewise.
(ix86_function_arg, ix86_pass_by_reference): Likewise.
(ix86_setup_incoming_varargs): Likewise.
* config/sh/sh.c (sh_setup_incoming_varargs): Likewise.
(sh_strict_argument_naming): Likewise.
(sh_pretend_outgoing_varargs_named, sh_pass_by_reference): Likewise.
(sh_callee_copies, sh_arg_partial_bytes): Likewise.
(sh_function_arg_advance, sh_function_arg): Likewise.
* config/pdp11/pdp11.c (pdp11_function_arg): Likewise.
(pdp11_function_arg_advance): Likewise.
* config/microblaze/microblaze.c (microblaze_function_arg_advance):
Likewise.
(microblaze_function_arg, function_arg_partial_bytes): Likewise.
* config/avr/avr.c (avr_function_arg): Likewise.
(avr_function_arg_advance): Likewise.
* config/xtensa/xtensa.c (xtensa_function_arg_advance): Likewise.
(xtensa_function_arg, xtensa_function_incoming_arg): Likewise.
(xtensa_function_arg_1): Likewise.
* config/stormy16/stormy16.c (xstormy16_function_arg_advance): Likewise.
(xstormy16_function_arg): Likewise.
* config/fr30/fr30.c (fr30_setup_incoming_varargs): Likewise.
(fr30_arg_partial_bytes, fr30_function_arg): Likewise.
(fr30_function_arg_advance): Likewise.
* config/lm32/lm32.c (lm32_setup_incoming_varargs): Likewise.
(lm32_function_arg, lm32_function_arg_advance): Likewise.
* config/moxie/moxie.c (moxie_setup_incoming_varargs): Likewise.
(moxie_function_arg, moxie_function_arg_advance): Likewise.
(moxie_pass_by_reference, moxie_arg_partial_bytes): Likewise.
* config/cris/cris.c (cris_setup_incoming_varargs): Likewise.
(cris_pass_by_reference, cris_arg_partial_bytes): Likewise.
(cris_function_arg, cris_function_incoming_arg): Likewise.
(cris_function_arg_advance, cris_function_arg_1): Likewise.
* config/iq2000/iq2000.c (iq2000_setup_incoming_varargs): Likewise.
(iq2000_pass_by_reference, iq2000_arg_partial_bytes): Likewise.
(iq2000_function_arg, iq2000_function_arg_advance): Likewise.
* config/mn10300/mn10300.c (mn10300_pass_by_reference): Likewise.
(mn10300_function_arg, mn10300_function_arg_advance): Likewise.
(mn10300_arg_partial_bytes): Likewise.
* config/ia64/ia64.c (ia64_setup_incoming_varargs): Likewise.
(ia64_arg_partial_bytes, ia64_function_arg): Likewise.
(ia64_function_incoming_arg, ia64_function_arg_advance): Likewise.
(ia64_function_arg_1): Likewise.
* config/m68k/m68k.c (m68k_function_arg_advance): Likewise.
(m68k_function_arg): Likewise.
* config/rs6000/rs6000.c (rs6000_function_arg_advance): Likewise.
(rs6000_function_arg, setup_incoming_varargs): Likewise.
(rs6000_pass_by_reference, rs6000_arg_partial_bytes): Likewise.
* config/picochip/picochip.c (picochip_arg_partial_bytes): Likewise.
(picochip_function_arg, picochip_incoming_function_arg): Likewise.
(picochip_arg_advance): Likewise.
* config/mcore/mcore.c (mcore_setup_incoming_varargs): Likewise.
(mcore_arg_partial_bytes, mcore_function_arg): Likewise.
(mcore_function_arg_advance): Likewise.
* config/score/score.c (score_pass_by_reference): Likewise.
(score_function_arg_advance): Likewise.
(score_arg_partial_bytes): Likewise. Make static.
* config/score/score-protos.h (score_arg_partial_bytes): Don't declare.
* config/arm/arm.c (arm_arg_partial_bytes): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(arm_function_arg, arm_function_arg_advance): Likewise.
(arm_setup_incoming_varargs, arm_pass_by_reference): Likewise.
* config/pa/pa.c (pa_pass_by_reference): Likewise.
(pa_arg_partial_bytes, pa_function_arg_advance): Likewise.
(pa_function_arg): Likewise.
* config/mips/mips.c (mips_strict_argument_naming): Likewise.
(mips_function_arg, mips_function_arg_advance): Likewise.
(mips_arg_partial_bytes, mips_pass_by_reference): Likewise.
(mips_callee_copies, mips_setup_incoming_varargs): Likewise.
* config/vax/vax.c (vax_function_arg): Likewise.
(vax_function_arg_advance): Likewise.
* config/h8300/h8300.c (h8300_function_arg): Likewise.
(h8300_function_arg_advance): Likewise.
* config/v850/v850.c (v850_pass_by_reference): Likewise.
(v850_strict_argument_naming, v850_function_arg): Likewise.
(v850_arg_partial_bytes, v850_function_arg_advance): Likewise.
(v850_setup_incoming_varargs): Likewise.
* config/mmix/mmix.c (mmix_setup_incoming_varargs): Likewise.
(mmix_function_arg_advance, mmix_function_incoming_arg): Likewise.
(mmix_function_arg, mmix_pass_by_reference): Likewise.
(mmix_function_arg_1): Replace const CUMULATIVE_ARGS* argument type
with const void *.
* config/bfin/bfin.c (setup_incoming_varargs): Replace
CUMULATIVE_ARGS* argument type with cumulative_args_t.
(bfin_function_arg_advance, bfin_function_arg): Likewise.
(bfin_arg_partial_bytes, bfin_pass_by_reference): Likewise.
* calls.c (emit_call_1): Change type of args_so_far to
cumulative_args_t. Changed all callers.
(initialize_argument_information): Likewise.
(expand_call, emit_library_call_value_1): Use pack_cumulative_args.
* dse.c (get_call_args): Likewise.
* expr.c (block_move_libcall_safe_for_call_parm): Likewise.
* function.c (pass_by_reference, reference_callee_copied): Likewise.
(struct assign_parm_data_all): Rename args_so_far to args_so_far_v.
New member args_so_far_v. Changed all users.
* var-tracking.c (prepare_call_arguments): Use pack_cumulative_args.
* config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
* config/mips/mips.c (mips_output_args_xfer): Likewise.
* config/s390/s390.c (s390_call_saved_register_used): Likewise.
* config/sh/sh.c (sh_output_mi_thunk): Likewise.
* config/microblaze/microblaze.c (microblaze_expand_prologue): Likewise.
* config/m32r/m32r.c (m32r_return_in_memory): Adjust for changed
m32r_pass_by_reference.
gcc/ada:
* gcc-interface/decl.c (gnat_to_gnu_param): Use pack_cumulative_args.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175103
138bc75d-0d04-0410-961f-
82ee72b054a4
irar [Thu, 16 Jun 2011 12:08:37 +0000 (12:08 +0000)]
* tree-vectorizer.h (vect_recog_func_ptr): Change the first
argument to be a VEC of statements.
* tree-vect-loop.c (vect_determine_vectorization_factor):
Remove the assert that pattern statements have to have their
vector type set.
* tree-vect-patterns.c (vect_recog_widen_sum_pattern):
Change the first argument to be a VEC of statements. Update
documentation.
(vect_recog_dot_prod_pattern, vect_recog_pow_pattern): Likewise.
(vect_handle_widen_mult_by_const): New function.
(vect_recog_widen_mult_pattern): Change the first argument to
be a VEC of statements. Update documentation. Check that the
constant is INTEGER_CST. Support multiplication by a constant
that fits an intermediate type - call
vect_handle_widen_mult_by_const.
(vect_pattern_recog_1): Update vect_recog_func_ptr and its
call. Handle additional pattern statements if necessary.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175102
138bc75d-0d04-0410-961f-
82ee72b054a4
janus [Thu, 16 Jun 2011 11:45:05 +0000 (11:45 +0000)]
2011-06-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/49417
* module.c (mio_component): Make sure the 'class_ok' attribute is set
for use-associated CLASS components.
* parse.c (parse_derived): Check for 'class_ok' attribute.
* resolve.c (resolve_fl_derived): Ditto.
2011-06-16 Janus Weil <janus@gcc.gnu.org>
PR fortran/49417
* gfortran.dg/class_43.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175101
138bc75d-0d04-0410-961f-
82ee72b054a4
nickc [Thu, 16 Jun 2011 10:21:05 +0000 (10:21 +0000)]
PR target/49427
* config.gcc: Set cpu_type to v850 for any V850 architecture.
(v850*-*-*): Delete explicit setting of tm_p_file, tmake_file,
md_file, extra_modes, out_file and extra_options are these are all
deduced from cpu_type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175100
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 16 Jun 2011 09:32:18 +0000 (09:32 +0000)]
* config/avr/libgcc.S (__ashldi3, __ashrdi3, __lshrdi3): Set shift
truncation mask to 63.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175099
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 16 Jun 2011 09:18:31 +0000 (09:18 +0000)]
(__parityqi2): New function.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175098
138bc75d-0d04-0410-961f-
82ee72b054a4
gjl [Thu, 16 Jun 2011 09:06:44 +0000 (09:06 +0000)]
gcc/
PR target/49313
PR target/29524
* longlong.h: Add AVR support:
(count_leading_zeros): New macro.
(count_trailing_zeros): New macro.
(COUNT_LEADING_ZEROS_0): New macro.
* config/avr/t-avr (LIB1ASMFUNCS): Add
_ffssi2, _ffshi2, _loop_ffsqi2,
_ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2,
_paritydi2, _paritysi2, _parityhi2,
_popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
_bswapsi2, _bswapdi2,
_ashldi3, _ashrdi3, _lshrdi3
(LIB2FUNCS_EXCLUDE): Add _clz.
* config/avr/libgcc.S (XCALL): Move up in file.
(XJMP): New C Macro.
(DEFUN): New asm macro.
(ENDF): New asm macro.
(__ffssi2): New function.
(__ffshi2): New function.
(__loop_ffsqi2): New function.
(__ctzsi2): New function.
(__ctzhi2): New function.
(__clzdi2): New function.
(__clzsi2): New function.
(__clzhi2): New function.
(__paritydi2): New function.
(__paritysi2): New function.
(__parityhi2): New function.
(__popcounthi2): New function.
(__popcountsi2): New function.
(__popcountdi2): New function.
(__popcountqi2): New function.
(__bswapsi2): New function.
(__bswapdi2): New function.
(__ashldi3): New function.
(__ashrdi3): New function.
(__lshrdi3): New function.
Fix suspicous lines.
libgcc/
PR target/49313
PR target/29524
* config/avr/t-avr: Fix line endings.
(intfuncs16): Remove _ffsXX2, _clzXX2, _ctzXX2, _popcountXX2,
_parityXX2.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175097
138bc75d-0d04-0410-961f-
82ee72b054a4
rguenth [Thu, 16 Jun 2011 08:41:50 +0000 (08:41 +0000)]
2011-06-16 Richard Guenther <rguenther@suse.de>
* gimple.c (canonicalize_cond_expr_cond): (bool)x is not
the same as x != 0.
* fold-const.c (fold_binary_loc): Do not fold X & 1 != 0 to
(bool) X & 1.
* ipa-prop.c (ipa_analyze_indirect_call_uses): Also allow
equality compares against zero for the lower bit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175096
138bc75d-0d04-0410-961f-
82ee72b054a4