Commit Graph

102519 Commits

Author SHA1 Message Date
Olivier Hainque 65f1047a57 vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.
* config/rs6000/vxworks.h (TARGET_OS_CPP_BUILTINS): Define __PPC__.

From-SVN: r163448
2010-08-21 20:53:16 +00:00
Olivier Hainque b35525489b vxworks.h: (PREFERRED_STACK_BOUNDARY...
* config/rs6000/vxworks.h:  (PREFERRED_STACK_BOUNDARY, 
        ABI_STACK_BOUNDARY): Ensure STACK_BOUNDARY is honored despite EABI.

From-SVN: r163447
2010-08-21 20:48:34 +00:00
Richard Henderson 246a2fcb5e Vectorize fast path of _cpp_clean_line.
* configure.ac (AC_C_BIGENDIAN, AC_TYPE_UINTPTR_T): New tests.
	(ssize_t): Check via AC_TYPE_SSIZE_T instead of AC_CHECK_TYPE.
	(ptrdiff_t): Check via AC_CHECK_TYPE.
	* config.in, configure: Rebuild.
	* system.h: Include stdint.h, if available.
	* lex.c (WORDS_BIGENDIAN): Provide default.
	(acc_char_mask_misalign, acc_char_replicate, acc_char_cmp,
	acc_char_index, search_line_acc_char, repl_chars, search_line_mmx,
	search_line_sse2, search_line_sse42, init_vectorized_lexer,
	search_line_fast): New.
	(_cpp_clean_line): Use search_line_fast.  Restructure the fast
	loop to make it clear when we're leaving the loop.  Stay in the
	fast loop for non-trigraph '?'.

Co-Authored-By: Andi Kleen <ak@linux.intel.com>
Co-Authored-By: David S. Miller <davem@davemloft.net>

From-SVN: r163446
2010-08-21 12:05:40 -07:00
Janus Weil 1d0134b3cc re PR fortran/45271 ([OOP] Polymorphic code breaks when changing order of USE statements)
2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45271
	PR fortran/45290
	* class.c (add_proc_comp): Add static initializer for PPCs.
	(add_procs_to_declared_vtab): Modified comment.
	* module.c (mio_component): Add argument 'vtype'. Don't read/write the
	initializer if the component is part of a vtype.
	(mio_component_list): Add argument 'vtype', pass it on to
	'mio_component'.
	(mio_symbol): Modified call to 'mio_component_list'.
	* trans.h (gfc_conv_initializer): Modified prototype.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-common.c (create_common): Modified call to
	'gfc_conv_initializer'.
	* trans-decl.c (gfc_get_symbol_decl,get_proc_pointer_decl,
	gfc_emit_parameter_debug_info): Modified call to
	'gfc_conv_initializer'.
	(build_function_decl): Remove assertion.
	* trans-expr.c (gfc_conv_derived_to_class,gfc_trans_class_assign):
	Removed call to 'gfc_trans_assign_vtab_procs'.
	(gfc_conv_initializer): Add argument 'procptr'.
	(gfc_conv_structure): Modified call to 'gfc_conv_initializer'.
	(gfc_trans_assign_vtab_procs): Removed.
	* trans-stmt.c (gfc_trans_allocate): Removed call to
	'gfc_trans_assign_vtab_procs'.


2010-08-21  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44863
	PR fortran/45271
	PR fortran/45290
	* gfortran.dg/dynamic_dispatch_10.f03: New (PR 44863 comment #1).
	* gfortran.dg/pointer_init_5.f90: New (PR 45290 comment #6).
	* gfortran.dg/typebound_call_18.f03: New (PR 45271 comment #3).

From-SVN: r163445
2010-08-21 16:50:57 +02:00
Eric Botcazou 02be26e48b * tracebak.c: Fix typo in comment.
From-SVN: r163444
2010-08-21 13:25:33 +00:00
Jan Hubicka 9e97ff6183 tree-pass.h (pass_ipa_cdtor_merge): New function.
* tree-pass.h (pass_ipa_cdtor_merge): New function.
	* cgraphunit.c (static_ctors, static_dtors): Move to ipa.c; make
	heap allocated.
	(record_cdtor_fn): Move to ipa.c; do not test for
	have_ctors_dtors.
	(build_cdtor): Move to ipa.c; add code avoiding construction
	when target have ctors/dtors and there is only one ctor/dtor at given
	priority.
	(compare_ctor, compare_dtor): Move to ipa.c; use DECL_UID to stabilize sort;
	reverse order of constructors.
	(cgraph_build_cdtor_fns):Move to ipa.c; rename to build_cdtor_fns.
	(cgraph_finalize_function): Do not call record_cdtor_fn.
	(cgraph_finalize_compilation_unit): Do not call cgraph_build_cdtor_fns.
	(cgraph_build_static_cdtor): Move to ipa.c.
	* ipa.c: Include target.h and tree-iterator.h.
	(cgraph_build_static_cdtor, static_ctors, static_dtors,
	record_cdtor_fn, build_cdtor, compare_ctor, compare_dtor,
	build_cdtor_fns, ipa_cdtor_merge, gate_ipa_cdtor_merge,
	pass_ipa_cdtor_merge): New.
	* passes.c (init_optimization_passes): Enqueue pass_ipa_cdtor_merge.
	* ipa-prop.c (update_indirect_edges_after_inlining): Avoid out of bounds access.

From-SVN: r163443
2010-08-21 12:36:19 +00:00
Jan Hubicka 000eef232b Fix previous commit.
From-SVN: r163442
2010-08-21 12:24:41 +00:00
Ralf Wildenhues 75bc9e5e0d Fix misquoting in stdint.m4.
config/:
	PR target/45084
	* stdint.m4 (GCC_HEADER_STDINT): Use m4 quotes for arguments
	of AC_MSG_ERROR.

libdecnumber/:
	* configure: Regenerate.

libgfortran/:
	* configure: Regenerate.

libgomp/:
	* configure: Regenerate.

libstdc++-v3/:
	* configure: Regenerate.

From-SVN: r163441
2010-08-21 12:18:02 +00:00
Tobias Burnus 47b996944d re PR fortran/36158 (Transformational function BESSEL_YN(n1,n2,x) and BESSEL_JN missing)
2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * intrinsic.c (add_sym): Init value attribute.
        (set_attr_value): New function.
        (add_functions) Use it and add JN/YN resolvers.
        * symbol.c (gfc_copy_formal_args_intr): Copy value attr.
        * intrinsic.h (gfc_resolve_bessel_n2): New prototype.
        * gfortran.h (gfc_intrinsic_arg): Add value attribute.
        * iresolve.c (gfc_resolve_bessel_n2): New function.
        * trans-intrinsic.c (gfc_get_symbol_for_expr): Create
        formal arg list.
        (gfc_conv_intrinsic_function,gfc_is_intrinsic_libcall):
        Add GFC_ISYM_JN2/GFC_ISYM_YN2 as case value.
        * simplify.c (): For YN set to -INF if previous values
        was -INF.
        * trans-expr.c (gfc_conv_procedure_call): Don't crash
        if sym->as is NULL.
        * iresolve.c (gfc_resolve_extends_type_of): Set the
        type of the dummy argument to the one of the actual.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * m4/bessel.m4: Implement bessel_jn and bessel_yn.
        * gfortran.map: Add the generated bessel_jn_r{4,8,10,16}
        and bessel_yn_r{4,8,10,16}.
        * Makefile.am: Add bessel.m4.
        * Makefile.in: Regenerated.
        * generated/bessel_r4.c: Generated.
        * generated/bessel_r16.c: Generated.
        * generated/bessel_r8.c: Generated.
        * generated/bessel_r10.c: Generated.

2010-08-21  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36158
        PR fortran/33197
        * gfortran.dg/bessel_6.f90: New.
        * gfortran.dg/bessel_7.f90: New.

From-SVN: r163440
2010-08-21 12:12:53 +02:00
Jan Hubicka 508e475706 re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
	PR c++/17736
	* cgraph.h (cgraph_only_called_directly_p,
	cgraph_can_remove_if_no_direct_calls_and_refs_p): Handle
	static cdtors.
	* cgraphunit.c (cgraph_decide_is_function_needed): Static cdtors
	are not needed.
	(cgraph_finalize_function): Static cdtors are reachable.
	(cgraph_mark_functions_to_output): Use cgraph_only_called_directly_p.

	* gcc.dg/ipa/ctor-empty-1.c: Add testcase.
	* g++.dg/tree-ssa/empty-2.C: Check that constructor got optimized out.

From-SVN: r163439
2010-08-21 09:46:15 +00:00
Jan Hubicka f1395d4a6e lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
* lto-cgraph.c (lto_output_edge): Use gimple_has_body_p instead of flag_wpa.
	* lto-streamer-out.c (lto_output): Likewise.
	* passes.c (ipa_write_optimization_summaries): Initialize statement uids.
	
	* lto.c (lto_1_to_1_map): Be prepared for node to have no file data.
	(lto_wpa_write_files): Update comments.

From-SVN: r163438
2010-08-21 08:13:27 +00:00
GCC Administrator 12523de099 Daily bump.
From-SVN: r163437
2010-08-21 00:16:55 +00:00
Maciej W. Rozycki 93f36faad1 pex-common.c (pex_read_err): Set stderr_pipe to -1 if a corresponding stream has been opened.
* pex-common.c (pex_read_err): Set stderr_pipe to -1 if a
	corresponding stream has been opened.
	(pex_free): Close pipe file descriptors corresponding to child's
	stdout and stderr before waiting.

From-SVN: r163426
2010-08-20 22:39:58 +00:00
Olivier Hainque b4d456ffc0 tree.h (alias_diag_flags): New enum.
* tree.h (alias_diag_flags): New enum.
        (alias_pair): Add an 'emitted_diags' field.
        * varasm.c (finish_aliases_1): Honor and update
        * p->emitted_diags.
        (assemble_alias): Initialize emitted_diags of new pairs.

From-SVN: r163425
2010-08-20 22:08:41 +00:00
Eric Botcazou 39acb18f66 aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
* config/rs6000/aix.h (STACK_CHECK_STATIC_BUILTIN): Define to 1.
	* config/rs6000/linux.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	* config/rs6000/linux64.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
	(STACK_CHECK_PROTECT): Define.
	* config/rs6000/rs6000.c (rs6000_emit_probe_stack_range): New function.
	(output_probe_stack_range): Likewise.
	(rs6000_emit_prologue): Invoke rs6000_emit_probe_stack_range if static
	builtin stack checking is enabled.
	* config/rs6000/rs6000-protos.h (output_probe_stack_range): Declare.
	* config/rs6000/rs6000.md (UNSPECV_PROBE_STACK_RANGE): New constant.
	(probe_stack_range): New insn.

From-SVN: r163424
2010-08-20 21:22:16 +00:00
H.J. Lu 410841c6d5 Cast to unsigned short/char first for _mm_extract_epi16/_mm_extract_epi8.
gcc/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* config/i386/emmintrin.h (_mm_extract_epi16): Cast to unsigned
	short first.

	* config/i386/smmintrin.h (_mm_extract_epi8): Cast to unsigned
	char first.

gcc/testsuite/

2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45336
	* gcc.target/i386/pr45336-1.c: New.
	* gcc.target/i386/pr45336-2.c: Likewise.
	* gcc.target/i386/pr45336-3.c: Likewise.
	* gcc.target/i386/pr45336-4.c: Likewise.

From-SVN: r163421
2010-08-20 13:57:56 -07:00
Jakub Jelinek 50d724a750 re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
	* config/i386/sse.md (*sse4_1_pextrb): Add SWI48 mode iterator
	to cover zero extension into 64-bit register.
	(*sse2_pextrw): Likewise.
	(*sse4_1_pextrd_zext): New insn.

From-SVN: r163420
2010-08-20 22:54:25 +02:00
Iain Sandoe c6d8116af9 revert r163410, partially revert r163267.
* config/rs6000/darwin.h (LIB_SPEC): Remove.
	* config/darwin.h (REAL_LIBGCC_SPEC): Link lgcc for all 
	Darwin versions.

From-SVN: r163419
2010-08-20 20:10:42 +00:00
Uros Bizjak 26e4a41748 re PR testsuite/45361 (gcc.target/i386/volatile-2.c failed)
PR testsuite/45361
	* gcc.target/i386/volatile-2.c: Update scan strings to also
	include (%rip) for the memory reference on x86_64.

From-SVN: r163416
2010-08-20 21:23:52 +02:00
Jakub Jelinek 994fc9abdd re PR middle-end/44974 (Function with attribute noreturn omits a call to another function with noreturn)
PR middle-end/44974
	* builtins.c (expand_builtin): Don't optimize away
	calls to DECL_LOOPING_CONST_OR_PURE_P builtins.

	* gcc.dg/pr44974.c: New test.

From-SVN: r163415
2010-08-20 20:49:46 +02:00
Uros Bizjak 6c33409079 i386.md (ashift RSP splitter): Remove splitter.
* config/i386/i386.md (ashift RSP splitter): Remove splitter.
	(pro_epilogue_adjust_stack_di_2): Use "l" constraint for
	alternative 1 of operand 2.

From-SVN: r163414
2010-08-20 20:40:56 +02:00
Jakub Jelinek 561da6bc0b simplify-rtx.c (simplify_unary_operation_1): Optimize (sign_extend (zero_extend ()) and ({sign,zero}_extend (lshiftrt...
* simplify-rtx.c (simplify_unary_operation_1): Optimize
	(sign_extend (zero_extend ()) and
	({sign,zero}_extend (lshiftrt (ashift X (const_int I)) (const_int I))).

Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>

From-SVN: r163413
2010-08-20 20:08:10 +02:00
Jakub Jelinek 89ad0f25dc re PR rtl-optimization/45353 (ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in sel_bb_head, at sel-sched-ir.c:4329 with -fselective-scheduling and __builtin_unreachable())
PR rtl-optimization/45353
	* sel-sched-ir.c (sel_bb_head): Return NULL even if next_nonnote_insn
	after bb_note is a BARRIER.

	* gcc.dg/pr45353.c: New test.

From-SVN: r163412
2010-08-20 20:07:12 +02:00
Iain Sandoe bf794e41ee darwin.h (LIB_SPEC): New.
* config/rs6000/darwin.h (LIB_SPEC): New. Provide save/restFP by 
	linking libgcc.a.

From-SVN: r163410
2010-08-20 16:12:14 +00:00
Jakub Jelinek 521fdcda19 tree-ssa-address.c (tree_mem_ref_addr): Convert offset to sizetype.
* tree-ssa-address.c (tree_mem_ref_addr): Convert offset to
	sizetype.

Co-Authored-By: Michael Matz <matz@suse.de>

From-SVN: r163409
2010-08-20 17:56:14 +02:00
Joseph Myers ca865c2bfe * lang.opt (MD, MMD): Use NoDriverArg instead of NoArgDriver.
From-SVN: r163408
2010-08-20 16:27:29 +01:00
Nathan Froyd 71bb2d8692 ggc-common.c (ggc_mark_root_tab): New function, split out from...
* ggc-common.c (ggc_mark_root_tab): New function, split out from...
	(ggc_mark_roots): ...here.

From-SVN: r163407
2010-08-20 15:26:56 +00:00
Joseph Myers 1d4d95886e gfortranspec.c (lang_specific_driver): Refer to -lgfortran in comment, not -lg2c.
* gfortranspec.c (lang_specific_driver): Refer to -lgfortran in
	comment, not -lg2c.

From-SVN: r163406
2010-08-20 16:25:03 +01:00
H.J. Lu 2429bce332 Replace has_analyzed_clone with has_analyzed_clone_p.
2010-08-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/45357
	* lto.c (lto_materialize_function): Replace has_analyzed_clone
	with has_analyzed_clone_p.

From-SVN: r163405
2010-08-20 07:42:28 -07:00
Jan Hubicka e0f967db8d lto.c (has_analyzed_clone_p): New function
* lto.c (has_analyzed_clone_p): New function
	(lto_materialize_function): Use callgraph to determine if
	body is needed.
	(materialize_cgraph): Remove DECL_IS_BUILTIN check.

From-SVN: r163403
2010-08-20 13:29:36 +00:00
Nathan Sidwell 1f5a46fe84 missed from rest of commit
missed from rest of commit
	* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
	copy the src value and return a copy.
	* doc/extend.texi (Volatiles): Move from C++ to C and expand.
	(C++ Volatiles): Adjust to describe C++ semantics only.

From-SVN: r163402
2010-08-20 12:59:40 +00:00
Nathan Froyd ac47786e99 vec.h (FOR_EACH_VEC_ELT): Define.
gcc/
	* vec.h (FOR_EACH_VEC_ELT): Define.
	* c-decl.c: Use it.
	* cfgloop.c: Likewise.
	* cfgloopmanip.c: Likewise.
	* cgraph.c: Likewise.
	* cgraphunit.c: Likewise.
	* combine.c: Likewise.
	* config/bfin/bfin.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* dbxout.c: Likewise.
	* df-scan.c: Likewise.
	* dominance.c: Likewise.
	* dse.c: Likewise.
	* dwarf2out.c: Likewise.
	* except.c: Likewise.
	* expr.c: Likewise.
	* function.c: Likewise.
	* gcse.c: Likewise.
	* genattr.c: Likewise.
	* ggc-common.c: Likewise.
	* gimplify.c: Likewise.
	* graphite-blocking.c: Likewise.
	* graphite-clast-to-gimple.c: Likewise.
	* graphite-dependences.c: Likewise.
	* graphite-interchange.c: Likewise.
	* graphite-poly.c: Likewise.
	* graphite-scop-detection.c: Likewise.
	* graphite-sese-to-poly.c: Likewise.
	* graphite.c: Likewise.
	* haifa-sched.c: Likewise.
	* ifcvt.c: Likewise.
	* implicit-zee.c: Likewise.
	* ipa-prop.c: Likewise.
	* ipa-struct-reorg.c: Likewise.
	* ipa.c: Likewise.
	* ira-build.c: Likewise.
	* ira-color.c: Likewise.
	* ira-emit.c: Likewise.
	* lambda-code.c: Likewise.
	* loop-invariant.c: Likewise.
	* loop-unroll.c: Likewise.
	* lower-subreg.c: Likewise.
	* lto-cgraph.c: Likewise.
	* lto-opts.c: Likewise.
	* lto-streamer-in.c: Likewise.
	* lto-streamer-out.c: Likewise.
	* lto-streamer.c: Likewise.
	* lto-symtab.c: Likewise.
	* matrix-reorg.c: Likewise.
	* opts.c: Likewise.
	* predict.c: Likewise.
	* print-tree.c: Likewise.
	* sdbout.c: Likewise.
	* sel-sched-dump.c: Likewise.
	* sel-sched-ir.c: Likewise.
	* sel-sched.c: Likewise.
	* sese.c: Likewise.
	* stor-layout.c: Likewise.
	* tree-cfg.c: Likewise.
	* tree-cfgcleanup.c: Likewise.
	* tree-chrec.c: Likewise.
	* tree-data-ref.c: Likewise.
	* tree-emutls.c: Likewise.
	* tree-inline.c: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-loop-distribution.c: Likewise.
	* tree-loop-linear.c: Likewise.
	* tree-mudflap.c: Likewise.
	* tree-outof-ssa.c: Likewise.
	* tree-parloops.c: Likewise.
	* tree-predcom.c: Likewise.
	* tree-pretty-print.c: Likewise.
	* tree-scalar-evolution.c: Likewise.
	* tree-ssa-live.c: Likewise.
	* tree-ssa-loop-im.c: Likewise.
	* tree-ssa-loop-ivcanon.c: Likewise.
	* tree-ssa-loop-ivopts.c: Likewise.
	* tree-ssa-loop-manip.c: Likewise.
	* tree-ssa-loop-niter.c: Likewise.
	* tree-ssa-loop-prefetch.c: Likewise.
	* tree-ssa-phiprop.c: Likewise.
	* tree-ssa-pre.c: Likewise.
	* tree-ssa-reassoc.c: Likewise.
	* tree-ssa-sccvn.c: Likewise.
	* tree-ssa-structalias.c: Likewise.
	* tree-ssa.c: Likewise.
	* tree-vect-data-refs.c: Likewise.
	* tree-vect-loop-manip.c: Likewise.
	* tree-vect-loop.c: Likewise.
	* tree-vect-patterns.c: Likewise.
	* tree-vect-slp.c: Likewise.
	* tree-vect-stmts.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.
	* value-prof.c: Likewise.
	* var-tracking.c: Likewise.
	* varasm.c: Likewise.
	* vmsdbgout.c: Likewise.

gcc/ada/
	* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
	* gcc-interface/trans.c: Likewise.
	* gcc-interface/utils.c: Likewise.

gcc/c-family/
	* c-common.c: Use FOR_EACH_VEC_ELT.
	* c-gimplify.c: Likewise.
	* c-pragma.c: Likewise.

gcc/cp/
	* call.c: Use FOR_EACH_VEC_ELT.
	* class.c: Likewise.
	* decl.c: Likewise.
	* decl2.c: Likewise.
	* error.c: Likewise.
	* except.c: Likewise.
	* mangle.c: Likewise.
	* method.c: Likewise.
	* name-lookup.c: Likewise.
	* parser.c: Likewise.
	* pt.c: Likewise.
	* repo.c: Likewise.
	* semantics.c: Likewise.
	* typeck2.c: Likewise.

gcc/fortran/
	* trans-openmp.c: Use FOR_EACH_VEC_ELT.

gcc/java/
	* class.c: Use FOR_EACH_VEC_ELT.
	* expr.c: Likewise.
	* jcf-parse.c: Likewise.
	* resource.c: Likewise.

gcc/lto/
	* lto.c: Use FOR_EACH_VEC_ELT.

From-SVN: r163401
2010-08-20 12:48:59 +00:00
Nathan Sidwell 8f0fe81379 gimplify.c (gimplify_modify_expr): When assigning to volatiles, copy the src value and return a copy.
gcc/
	* gimplify.c (gimplify_modify_expr): When assigning to volatiles,
	copy the src value and return a copy.
	* doc/extend.texi (Volatiles): Move from C++ to C and expand.
	(C++ Volatiles): Adjust to describe C++ semantics only.

	gcc/testsuite/
	* gcc.target/i386/volatile-2.c: New.

From-SVN: r163400
2010-08-20 12:22:11 +00:00
Joseph Myers f8fe0a4a8e tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to be zero or nonzero.
2010-08-20  Joseph Myers  <joseph@codesourcery.com>

	gcc/
	* doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
	be zero or nonzero.
	* doc/tm.texi: Regenerate.
	* defaults.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define.
	* df-scan.c (df_get_exit_block_use_set), reginfo.c
	(init_reg_sets_1), rtlanal.c (rtx_unstable_p, rtx_varies_p):
	Handle new PIC_OFFSET_TABLE_REG_CALL_CLOBBERED semantics.
	* config/ia64/ia64.h (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Define
	to 1.

From-SVN: r163399
2010-08-20 11:14:38 +00:00
Andrey Belevantsev 46499993b1 re PR rtl-optimization/44691 (ICE: RTL check: expected code 'reg', have 'plus' in rhs_regno, at rtl.h:1050)
PR rtl-optimization/44691
        * gfortran.dg/pr44691.f: New test.

From-SVN: r163396
2010-08-20 12:07:17 +04:00
Olivier Hainque 891aa2ecc4 sparc.c (sparc_asm_function_epilogue): Don't output an extra nop past a sibling call at the very end.
* config/sparc/sparc.c (sparc_asm_function_epilogue): Don't output
        an extra nop past a sibling call at the very end.

        testsuite/
        * gcc.target/sparc/sibcall-dslot.c: New testcase.

From-SVN: r163395
2010-08-20 08:03:41 +00:00
Uros Bizjak 07d5b92585 pass41-frag.cxx (dg-prune-output): New dg directive.
* testsuite/libmudflap.c++/pass41-frag.cxx (dg-prune-output):
	New dg directive.

From-SVN: r163394
2010-08-20 09:14:00 +02:00
GCC Administrator d81c4d4c67 Daily bump.
From-SVN: r163393
2010-08-20 00:17:15 +00:00
Bernd Schmidt b98425dacb re PR bootstrap/45350 (Failed to bootstrap on Linux/ia64)
PR bootstrap/45350
	* combine.c (try_combine): Initialize i1_is_used and i2_is_used.  Fix
	a comment.

From-SVN: r163389
2010-08-19 23:34:07 +00:00
Jerry DeLisle e172187979 re PR fortran/45108 (Namelist read: Not aborted when reading from STDIN)
2010-08-19  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/45108
	* io/list_read.c (namelist_read): If namelist reading fails, use
	generate_error and then continue the read loop.

From-SVN: r163387
2010-08-19 20:28:09 +00:00
Nathan Froyd 29e8814292 target.def (function_arg, [...]): Remove const qualifier on CUMULATIVE_ARGS parameter.
* target.def (function_arg, function_incoming_arg): Remove const
	qualifier on CUMULATIVE_ARGS parameter.
	* targhooks.h (default_function_arg, default_function_incoming_arg):
	Likewise.
	* targhooks.c (default_function_arg, default_function_incoming_arg):
	Likewise.
	* config/i386/i386.c (ix86_function_arg): Likewise.

From-SVN: r163386
2010-08-19 20:12:33 +00:00
Jakub Jelinek a5d8253f7a re PR target/45336 (pextr{b,w,d}, (worse than) redundant extensions)
PR target/45336
	* simplify-rtx.c (simplify_unary_operation_1): Optimize nested
	SIGN_EXTENDs or ZERO_EXTENDs.

From-SVN: r163384
2010-08-19 19:43:50 +02:00
Bernd Schmidt 0524d2d662 re PR tree-optimization/42172 (inefficient bit fields assignments)
PR target/42172
	* combine.c (combine_validate_cost): New arg I0.  All callers changed.
	Take its cost into account if nonnull.
	(insn_a_feeds_b): New static function.
	(combine_instructions): Look for four-insn combinations.
	(can_combine_p): New args PRED2, SUCC2.  All callers changed.  Take
	them into account when computing all_adjacent and looking for other
	uses.
	(combinable_i3pat): New args I0DEST, I0_NOT_IN_SRC.  All callers
	changed.  Treat them like I1DEST and I1_NOT_IN_SRC.
	(try_combine): New arg I0.  Handle four-insn combinations.
	(distribute_notes): New arg ELIM_I0.  All callers changed.  Treat it
	like ELIM_I1.

From-SVN: r163383
2010-08-19 17:31:57 +00:00
Jason Merrill f0d9b83660 call.c (reference_related_p): Check for error_mark_node.
* call.c (reference_related_p): Check for error_mark_node.
	(add_function_candidate): Check it instead of
	same_type_ignoring_top_level_qualifiers_p.

From-SVN: r163382
2010-08-19 13:24:19 -04:00
Jason Merrill 95d7bdaae9 re PR c++/45315 (ICE: tree check: expected aggr_init_expr, have call_expr in build_value_init, at cp/init.c:317)
PR c++/45315
	* init.c (build_new_1): Don't use build_value_init in a template.
	(build_value_init): Make sure we don't.

From-SVN: r163381
2010-08-19 13:01:01 -04:00
Jason Merrill ce3beba3df re PR middle-end/45307 (Stores expanding to no RTL not removed by tree optimizers, Empty ctors/dtors not eliminated)
PR c++/45307
	* gimplify.c (gimplify_init_constructor): Just return GS_UNHANDLED
	if ctor is empty.
	(gimplify_modify_expr_rhs): Adjust.

From-SVN: r163380
2010-08-19 13:00:51 -04:00
Jason Merrill 2c5df20f2e except.c (pending_noexcept, [...]): New.
* except.c (pending_noexcept, pending_noexcept_checks): New.
	(perform_deferred_noexcept_checks): New.
	(maybe_noexcept_warning): Split from...
	(finish_noexcept_expr): ...here.  Adjust.
	* decl2.c (cp_write_global_declarations): Call
	perform_deferred_noexcept_checks.
	* cp-tree.h: And declare it.

From-SVN: r163379
2010-08-19 12:59:37 -04:00
Nathan Froyd fcaa4ca433 cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to bitmap_bit_p.
* cfgloop.c (get_loop_body_in_bfs_order): Avoid redundant call to
	bitmap_bit_p.
	* config/bfin/bifn.c (bfin_discover_loop): Likewise.
	* dominance.c (iterate_fix_dominators): Likewise.
	* dse.c (set_usage_bits): Likewise.
	(set_position_unneeded, record_store): Likewise.
	* gimple-fold.c (get_maxval_strlen): Likewise.
	* haifa-sched.c (fix_inter_tick, fix_recovery_deps): Likewise.
	* ipa-inline.c (update_caller_keys): Likewise.
	* ipa-split.c (verify_non_ssa_vars): Likewise.
	* ipa-type-escape.c (mark_type, close_type_seen): Likewise.
	(close_type_exposed_parameter, close_type_full_escape): Likewise.
	(close_addressof_down): Likewise.
	* ira-color.c (assign_hard_reg, push_allocno_to_stack): Likewise.
	(setup_allocno_left_conflicts_size): Likewise.
	(ira_reassign_conflict_allocnos): Likewise.
	(ira_reassign_pseudos): Likewise.
	* ira-emit.c (change_loop): Likewise.
	* loop-invariant.c (mark_regno_live, mark_regno_death): Likewise.
	* lto-streamer-out.c (write_symbol): Likewise.
	* predict.c (expr_expected_value_1): Likewise.
	* regstat.c (regstat_bb_compute_ri): Likewise.
	* sel-sched.c (create_block_for_bookkeeping): Likewise.
	(track_scheduled_insns_and_blocks, sel_sched_region_1): Likewise.
	* stmt.c (expand_case): Likewise.
	* tree-eh.c (emit_eh_dispatch): Likewise.
	* tree-into-ssa.c (prune_unused_phi_nodes): Likewise.
	* tree-loop-distribution.c (make_nodes_having_upstream_mem_writes):
	Likewise.
	(rdg_flag_vertex, rdg_flag_loop_exits): Likewise.
	(rdg_build_components): Likewise.
	* tree-object-size.c (collect_object_sizes_for): Likewise.
	* tree-sra.c (convert_callers): Likewise.
	* tree-ssa-coalesce.c (live_track_add_partition): Likewise.
	* tree-ssa-live.c (mark_all_vars_used_1): Likewise.
	* tree-ssa-pre.c (bitmap_set_replace_value): Likewise.

From-SVN: r163378
2010-08-19 16:51:39 +00:00
Daniel Kraft 99d821c01c re PR fortran/29785 (Fortran 2003: POINTER Rank Remapping)
2010-08-19  Daniel Kraft  <d@domob.eu>

	PR fortran/29785
	PR fortran/45016
	* trans.h (struct gfc_se): New flag `byref_noassign'.
	* trans-array.h (gfc_conv_shift_descriptor_lbound): New method.
	(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
	* expr.c (gfc_check_pointer_assign): Allow bounds and rank remapping
	and check for compile-time errors with those.
	* trans-decl.c (trans_associate_var): Use new routine
	`gfc_conv_shift_descriptor_lbound' instead of doing it manually.
	* trans-array.c (gfc_conv_shift_descriptor_lbound): New method.
	(gfc_conv_array_extent_dim), (gfc_conv_descriptor_size): New methods.
	(gfc_array_init_size): Use new `gfc_conv_array_extent_dim'.
	(gfc_conv_expr_descriptor): Handle new flag `byref_noassign'.
	* trans-expr.c (gfc_trans_pointer_assignment): Handle bounds and
	rank remapping for assignment.

2010-08-19  Daniel Kraft  <d@domob.eu>

	PR fortran/29785
	PR fortran/45016
	* gfortran.dg/pointer_assign_5.f90: Remove 'not implemented' error.
	* gfortran.dg/pointer_remapping_1.f90: New test.
	* gfortran.dg/pointer_remapping_2.f03: New test.
	* gfortran.dg/pointer_remapping_3.f08: New test.
	* gfortran.dg/pointer_remapping_4.f03: New test.
	* gfortran.dg/pointer_remapping_5.f08: New test.
	* gfortran.dg/pointer_remapping_6.f08: New test.

From-SVN: r163377
2010-08-19 18:02:30 +02:00
Uros Bizjak f1b62c9f96 i386.md (*lea_1): Use P mode iterator.
2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*lea_1): Use P mode iterator.
	(lea add splitter): Also handle DImode operands.
	(DImode lea add splitter): Use x86_64_immediate_operand for operand 2
	predicate.  Do not use ix86_lea_for_add_ok.
	(zext DImode lea add splitter): Use ix86_lea_for_add_ok.
	(lea ashift splitter): Also handle DImode operands.
	(DImode lea ashift splitter): Remove splitter.

2010-08-19  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/i386.md (*add<SWI:mode>3_cconly_overflow): Do not use
	ix86_binary_operator_ok.

From-SVN: r163375
2010-08-19 17:55:01 +02:00