Commit Graph

102120 Commits

Author SHA1 Message Date
Uros Bizjak
fea8c25725 alpha.c (alpha_build_builtin_va_list): Mark __offset as volatile.
target/41089
	* config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
	as volatile.

From-SVN: r162826
2010-08-02 19:26:40 +02:00
Thomas Koenig
071bdb5f22 re PR fortran/36854 ([meta-bug] fortran front-end optimization)
2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* dependency.h:  Add prototype for gfc_are_identical_variables.
	* frontend-passes.c:  Include depencency.h.
	(optimimize_equality):  Use gfc_are_identical_variables.
	* dependency.c (identical_array_ref): New function.
	(gfc_are_identical_variables):  New function.
	(gfc_deb_compare_expr):  Use gfc_are_identical_variables.
	* dependency.c (gfc_check_section_vs_section).  Rename gfc_
	prefix from statc function.
	(check_section_vs_section): Change arguments to gfc_array_ref,
	adjust function body accordingly.

2010-08-02  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/36854
	* gfortran.dg/character_comparison_2.f90:  New test.
	* gfortran.dg/character_comparison_3.f90:  New test.
	* gfortran.dg/dependency_28.f90:  New test.

From-SVN: r162824
2010-08-02 16:53:51 +00:00
Sebastian Pop
20769d5eb6 Add -ftree-loop-distribute-patterns enabled at -O3.
2010-08-02  Sebastian Pop  <sebastian.pop@amd.com>

	* common.opt (ftree-loop-distribute-patterns): New.
	* invoke.texi (-ftree-loop-distribute-patterns): Documented.
	* opts.c (decode_options): Enable flag_tree_loop_distribute_patterns
	at -O3.
	* tree-data-ref.c (stores_zero_from_loop): New.
	* tree-data-ref.h (stores_zero_from_loop): Declared.
	* tree-loop-distribution.c (tree_loop_distribution): Call
	stores_zero_from_loop.
	(tree_loop_distribution): Check flag_tree_loop_distribute_patterns.

From-SVN: r162822
2010-08-02 16:20:36 +00:00
Mikael Morin
ef973f3f4b re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
2010-08-02  Mikael Morin  <mikael@gcc.gnu.org>
	    Janus Weil  <janus@gcc.gnu.org>

	PR fortran/42051
	PR fortran/44064
	PR fortran/45151
	* intrinsic.c (gfc_get_intrinsic_sub_symbol): Commit changed symbol. 
	* symbol.c (gen_cptr_param, gen_fptr_param, gen_shape_param,
	gfc_copy_formal_args, gfc_copy_formal_args_intr,
	gfc_copy_formal_args_ppc, generate_isocbinding_symbol): Ditto.
	* parse.c (parse_derived_contains, parse_spec, parse_progunit): 
	Call reject_statement in case of error. 
	(match_deferred_characteritics): Call gfc_undo_symbols in case match
	fails.


Co-Authored-By: Janus Weil <janus@gcc.gnu.org>

From-SVN: r162821
2010-08-02 15:30:47 +00:00
Bernd Schmidt
13cc4787bf arm.c (arm_rtx_costs_1): Remove second clause from the if statement which adds extra costs to...
* config/arm/arm.c (arm_rtx_costs_1): Remove second clause from the
	if statement which adds extra costs to frame-related expressions.

From-SVN: r162816
2010-08-02 10:21:05 +00:00
Bernd Schmidt
3711941045 re PR target/40457 (use stm and ldm to access consecutive memory words)
PR target/40457
	* config/arm/arm.h (arm_regs_in_sequence): Declare.
	* config/arm/arm-protos.h (emit_ldm_seq, emit_stm_seq,
	load_multiple_sequence, store_multiple_sequence): Delete
	declarations.
	(arm_gen_load_multiple, arm_gen_store_multiple): Adjust
	declarations.
	* config/arm/ldmstm.md: New file.
	* config/arm/arm.c (arm_regs_in_sequence): New array.
	(load_multiple_sequence): Now static.  New args SAVED_ORDER,
	CHECK_REGS.  All callers changed.
	If SAVED_ORDER is nonnull, copy the computed order into it.
	If CHECK_REGS is false, don't sort REGS.  Handle Thumb mode.
	(store_multiple_sequence): Now static.  New args NOPS_TOTAL,
	SAVED_ORDER, REG_RTXS and CHECK_REGS.  All callers changed.
	If SAVED_ORDER is nonnull, copy the computed order into it.
	If CHECK_REGS is false, don't sort REGS.  Set up REG_RTXS just
	like REGS.  Handle Thumb mode.
	(arm_gen_load_multiple_1): New function, broken out of
	arm_gen_load_multiple.
	(arm_gen_store_multiple_1): New function, broken out of
	arm_gen_store_multiple.
	(arm_gen_multiple_op): New function, with code from
	arm_gen_load_multiple and arm_gen_store_multiple moved here.
	(arm_gen_load_multiple, arm_gen_store_multiple): Now just
	wrappers around arm_gen_multiple_op.  Remove argument UP, all callers
	changed.
	(gen_ldm_seq, gen_stm_seq, gen_const_stm_seq): New functions.
	* config/arm/predicates.md (commutative_binary_operator): New.
	(load_multiple_operation, store_multiple_operation): Handle more
	variants of these patterns with different starting offsets.  Handle
	Thumb-1.
	* config/arm/arm.md: Include "ldmstm.md".
	(ldmsi_postinc4, ldmsi_postinc4_thumb1, ldmsi_postinc3, ldmsi_postinc2,
	ldmsi4, ldmsi3, ldmsi2, stmsi_postinc4, stmsi_postinc4_thumb1,
	stmsi_postinc3, stmsi_postinc2, stmsi4, stmsi3, stmsi2 and related
	peepholes): Delete.
	* config/arm/ldmstm.md: New file.
	* config/arm/arm-ldmstm.ml: New file.

testsuite/
	PR target/40457
	* gcc.target/arm/pr40457-1.c: New test.
	* gcc.target/arm/pr40457-2.c: New test.

From-SVN: r162815
2010-08-02 10:06:47 +00:00
Bernd Schmidt
0bd44ba2e1 thumb2.md (thumb2_movdi, [...]): Delete patterns.
* config/arm/thumb2.md (thumb2_movdi, thumb2_movsf_soft_insn,
	thumb2_movdf_soft_insn): Delete patterns.
	* config/arm/arm.md (arm_pool_range, thumb2_pool_range,
	arm_neg_pool_range, thumb2_neg_pool_range): New attributes.
	(pool_range, neg_pool_range): Use them to define defaults.
	(movdi, arm_movsf_soft_insn, arm_movdf_soft_insn): Define them
	and allow for TARGET_32BIT.

From-SVN: r162814
2010-08-02 09:53:58 +00:00
Bernd Schmidt
906668bb6f final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
* final.c (final_scan_insn): Call CC_STATUS_INIT unconditionally.
	* config/arm/arm.c (thumb1_code): New variable.
	(arm_override_options): Set it.
	(thumb1_final_prescan_insn): Keep track of condition code status.
	(arm_adjust_cost): For Thumb, try to keep cc-setting insns next to
	jumps that depend on them.
	* config/arm/arm.h (thumb1_code): Declare variable.
	(struct machine_function): Guard with #ifndef GENERATOR_FILE.  Add
	members thumb1_cc_insn, thumb1_cc_op0, thumb1_cc_op1 and
	thumb1_cc_mode.
	(CC_STATUS_INIT): New macro.
	* config/arm/constraints.md (Pd): New constraint.
	* config/arm/predicates.md (noov_comparison_operator): New predicate.
	* config/arm/arm.md (is_thumb1): New define_attr.
	(conds): Set default to "clob" when generating Thumb1 code.
	(thumb1_bicsi3): Renamed from bicsi3.  All uses changed.  Condition
	code are set.  Use two-operand assembly syntax.
	(thumb1_subsi3_insn): Condition codes are set.  Now a properly named
	pattern.
	(thumb1_andsi3_insn, thumb1_iorsi3_insn, thumb1_xorsi3_insn): Condition
	codes are set.  Use two-operand assembly syntax.
	(zero_extendhisi splitter): Remove constraints.
	(thumb1_movsi_insn, thumb1_movhi_insn, thumb1_movqi_insn, thumb1_movhf,
	thumb1_movsf_insn): Set conds attribute as appropriate.
	(cbranchsi4_insn): Use condition code status from struct
	machine_function to determine whether the comparison can be eliminated.
	Discourage the alternative using high registers.
	(movsi_cbranchsi4, andsi3_cbranch, orrsi3_cbranch_scratch,
	orrsi3_cbranch, xorsi3_cbranch_scratch, xorsi3_cbranch,
	bicsi3_cbranch_scratch, bicsi3_cbranch, subsi3_cbranch_scratch,
	subsi3_cbranch): Delete.
	(movsi_cbranchsi4 peepholes): Rewrite to generate a sequence of
	one subtract and one cbranch insn.

From-SVN: r162813
2010-08-02 09:51:39 +00:00
Bernd Schmidt
f37e278a15 postreload.c (reload_cse_simplify_operands): Take attribute enabled into account.
* postreload.c (reload_cse_simplify_operands): Take attribute enabled
	into account.

From-SVN: r162812
2010-08-02 09:42:37 +00:00
Ramana Radhakrishnan
0eeeef0768 arm.c (COSTS_N_INSNS): Remove definition.
2010-08-02  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/arm/arm.c (COSTS_N_INSNS): Remove definition.

From-SVN: r162811
2010-08-02 08:52:15 +00:00
Janne Blomqvist
3571367557 Don't update the position flag for non-seekable files, check for stell() error.
From-SVN: r162810
2010-08-02 09:22:23 +03:00
GCC Administrator
0093ddee96 Daily bump.
From-SVN: r162809
2010-08-02 00:17:15 +00:00
Gerald Pfeifer
dd9120005c update_web_docs_libstdcxx_svn: Do not compress generated .html files any more.
* update_web_docs_libstdcxx_svn: Do not compress generated .html
	files any more.

From-SVN: r162805
2010-08-01 21:10:55 +00:00
Janus Weil
f3f98a1e51 re PR fortran/44912 ([OOP] Segmentation fault on TBP)
2010-08-01  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44912
	* class.c (gfc_build_class_symbol): Make '$vptr' component private.
	(gfc_find_derived_vtab): Make vtabs and vtypes public.
	* module.c (read_module): When reading module files, always import
	vtab and vtype symbols.

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

	PR fortran/44912
	* gfortran.dg/typebound_call_17.f03: New.

From-SVN: r162804
2010-08-01 21:21:49 +02:00
Janne Blomqvist
47dad3ff97 Use access(2) instead of stat(2) to test file existence.
From-SVN: r162798
2010-08-01 14:22:18 +03:00
Uros Bizjak
22db1fbca9 re PR target/45142 (split for *vec_set<mode>_0_sse2 incomplete)
PR target/45142
	* config/i386/sse.md (vec_set<mode>_0): Do not set mode attribute for
	alternative 2.
	(vec_set<moode>_0 splitter): Use SSEMODE4S mode iterator to also
	split V4SI operands.

From-SVN: r162797
2010-08-01 12:41:57 +02:00
Anatoly Sokolov
501d087d62 mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/mmix/mmix.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
	* config/mmix/mmix-protos.h (mmix_asm_output_source_filename): Remove.
	* config/mmix/mmix.c (mmix_asm_output_source_filename): Make static.
	(TARGET_ASM_OUTPUT_SOURCE_FILENAME): Define.

From-SVN: r162793
2010-08-01 12:29:20 +04:00
GCC Administrator
140c268460 Daily bump.
From-SVN: r162792
2010-08-01 00:17:09 +00:00
David Edelsohn
f32013906e * io/inquire.c: Include io.h before string.h.
From-SVN: r162788
2010-07-31 17:37:25 -04:00
Kai Tietz
da46381f2c cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before LOCAL_INCLUDE_DIR.
2010-07-31  Kai Tietz  <kai.tietz@onevision.com>

        * cppdefault.c (cpp_include_defaults): Move GCC_INCLUDE_DIR before
        LOCAL_INCLUDE_DIR.

From-SVN: r162787
2010-07-31 22:00:22 +02:00
Ulrich Weigand
6cc1a978de Move PR c++/45112 ChangeLog entry to correct location.
From-SVN: r162785
2010-07-31 17:42:48 +00:00
Richard Sandiford
9eab7f91b9 tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type used in the call to optab_for_tree_code.
gcc/
	* tree-ssa-math-opts.c (convert_plusminus_to_widen): Fix type
	used in the call to optab_for_tree_code.  Fix the second
	is_widening_mult_p call.  Check that both unwidened operands
	have the same sign.

From-SVN: r162784
2010-07-31 15:51:17 +00:00
John Tytgat
6601202c29 John Tytgat <John.Tytgat@aaug.net>
John Tytgat  <John.Tytgat@aaug.net>
	* config/arm/arm.c (arm_function_arg): Remove superfluous test.

From-SVN: r162782
2010-07-31 14:27:53 +00:00
Anatoly Sokolov
08cbf29121 spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.
* config/spu/spu.h (ASM_OUTPUT_SOURCE_FILENAME): Remove macro.

From-SVN: r162779
2010-07-31 16:07:14 +04:00
Mikael Morin
951d634180 re PR fortran/42051 ([OOP] ICE on array-valued function with CLASS formal argument)
2010-07-31  Mikael Morin  <mikael@gcc.gnu.org>

	PR fortran/42051
	PR fortran/44064
	* symbol.c (changed_syms): Made non-static.
	* parse.c (changed_syms): Declare new external. 
	(next_statement): Assert changed_syms is NULL at the beginning.

From-SVN: r162776
2010-07-31 10:27:36 +00:00
Uros Bizjak
8aadc2f3e5 i386.md (mov<SWIM:mode>cc and corresponding splitter): Use ordered_comparison_operator predicate for operator1.
* config/i386/i386.md (mov<SWIM:mode>cc and corresponding splitter):
	Use ordered_comparison_operator predicate for operator1.
	(add<mode>cc): ditto.

From-SVN: r162775
2010-07-31 11:33:19 +02:00
DJ Delorie
cf6521b4f6 predicates.md (rx_constshift_operand): New.
* config/rx/predicates.md (rx_constshift_operand): New.
* config/rx/rx.md (zs_cond): New.
(cbranchsi4): Remove mode.
(*cbranchsi4_<code>): Likewise.
(*tstbranchsi4_<code>): New.
(*tstbranchsi4r_<code>): New.
(*tstbranchsi4m_eq): New.
(*tstbranchsi4m_ne): New.
(cbranchsf4): Remove mode.
(*cbranchsf4_<code>): Likewise.

From-SVN: r162731
2010-07-30 22:32:08 -04:00
GCC Administrator
44080b4180 Daily bump.
From-SVN: r162730
2010-07-31 00:17:24 +00:00
Bernd Schmidt
d4e0d036ef rtlanal.c (simplify_subreg_regno): Don't treat HARD_FRAME_POINTER_REGNUM specially.
* rtlanal.c (simplify_subreg_regno): Don't treat
	HARD_FRAME_POINTER_REGNUM specially.

From-SVN: r162726
2010-07-30 23:50:00 +00:00
Janus Weil
1107bd3829 re PR fortran/44929 ([OOP] Parsing error of derived type name starting with 'REAL')
2010-07-30  Janus Weil  <janus@gcc.gnu.org>
	    Steven G. Kargl  <kargl@gcc.gnu.org>

	PR fortran/44929
	* match.c (match_type_spec): Try to parse derived types before
	intrinsic types.


2010-07-30  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44929
	* gfortran.dg/allocate_derived_3.f90: New.

Co-Authored-By: Steven G. Kargl <kargl@gcc.gnu.org>

From-SVN: r162724
2010-07-30 19:50:28 +02:00
Joseph Myers
34251c0ee6 common.opt (-G): Don't define option here.
* common.opt (-G): Don't define option here.
	* config/g.opt: New.
	* config.gcc: Use g.opt for alpha, frv, ia64, lm32, m32r, mips,
	rs6000/powerpc and score targets.
	* opts.c (common_handle_option): Don't handle -G here.
	* config/alpha/alpha.c (alpha_handle_option): Handle -G.
	* config/frv/frv.c (frv_handle_option): Handle -G.
	* config/ia64/ia64.c (ia64_handle_option): Handle -G.
	* config/lm32/lm32.c (lm32_handle_option, TARGET_HANDLE_OPTION):
	New.
	* config/m32r/m32r.c (m32r_handle_option): Handle -G.
	* config/mips/mips.c (mips_handle_option): Handle -G.
	* config/rs6000/rs6000.c (rs6000_handle_option) Handle -G.
	* config/score/score.c (score_handle_option): Handle -G.

From-SVN: r162721
2010-07-30 18:04:37 +01:00
Xinliang David Li
95b038dd43 fix test
From-SVN: r162720
2010-07-30 16:44:24 +00:00
Mikael Morin
3cb595ac0b gfortran.h (gfc_release_symbol): New prototype.
2010-07-30  Mikael Morin  <mikael@gcc.gnu.org>

	* gfortran.h (gfc_release_symbol): New prototype.
	* symbol.c (gfc_release_symbol): New. Code taken from free_sym_tree.
	(gfc_undo_symbols, free_sym_tree, gfc_free_finalizer):
	Use gfc_release_symbol.
	* parse.c (gfc_fixup_sibling_symbols): Ditto.
	* resolve.c (resolve_symbol): Ditto.

From-SVN: r162719
2010-07-30 16:41:55 +00:00
Anatoly Sokolov
2d5bfc67ab mmix.c: Include basic-block.h.
* config/mmix/mmix.c: Include basic-block.h.

From-SVN: r162718
2010-07-30 20:33:10 +04:00
Ulrich Weigand
88d787e7a0 re PR c++/45112 (Aligned attribute on static class member definition ignored)
gcc/
	PR c++/45112
	* cp/decl.c (duplicate_decls): Merge DECL_USER_ALIGN and DECL_PACKED.

gcc/testsuite/
	PR c++/45112
	* testsuite/g++.dg/pr45112.C: New test.

From-SVN: r162716
2010-07-30 15:49:34 +00:00
Jakub Jelinek
f0fc0803ea re PR debug/45055 (another -fcompare-debug failure with uninitialised read in walk_gimple_stmt)
PR debug/45055
	PR rtl-optimization/45137
	* rtl.h (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn): New
	prototypes.
	* emit-rtl.c (prev_nonnote_nondebug_insn, next_nonnote_nondebug_insn):
	New functions.
	* combine.c (next_nonnote_nondebug_insn): Removed.
	* ifcvt.c (noce_process_if_block): Use prev_nonnote_nondebug_insn.
	* haifa-sched.c (queue_to_ready): Use next_nonnote_nondebug_insn.
	* sched-deps.c (sched_analyze_insn): Likewise.
	(fixup_sched_groups, deps_start_bb): Use prev_nonnote_nondebug_insn.
	* rtlanal.c (canonicalize_condition): Likewise.
	* postreload.c (reload_combine_recognize_pattern): Likewise.
	(reload_cse_move2add): Use next_nonnote_nondebug_insn.

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

From-SVN: r162714
2010-07-30 16:36:56 +02:00
Uros Bizjak
f53ea4f089 i386.md (int_cond): Remove code iterator.
* config/i386/i386.md (int_cond): Remove code iterator.
	(fp_cond): Ditto.
	(cbranch<mode>4): Use ordered_comparison_operator predicate
	for operator0.
	(cstore<mode>4): Ditto for operator1.
	(mov<SWIM:mode>cc): Ditto.

From-SVN: r162710
2010-07-30 15:06:04 +02:00
Richard Guenther
1f60f74e3f re PR lto/45141 (lto1 ICEs when linking cns_solve again)
2010-07-30  Richard Guenther  <rguenther@suse.de>

	PR middle-end/45141
	* expr.c (expand_expr_real_1): Check for not handled base address.

From-SVN: r162709
2010-07-30 11:01:22 +00:00
Andrew Haley
02c3d2ec47 JobStateReasons.java (add): Fix infinite recursion with call to super.
2010-07-30  Andrew Haley  <aph@redhat.com>

        * javax/print/attribute/standard/JobStateReasons.java (add): Fix
        infinite recursion with call to super.

From-SVN: r162708
2010-07-30 10:49:36 +00:00
Richard Guenther
4eb3f32c26 ipa-prop.c (ipa_modify_formal_parameters): Use build_distinct_type_copy.
2010-07-30  Richard Guenther  <rguenther@suse.de>

	* ipa-prop.c (ipa_modify_formal_parameters): Use
	build_distinct_type_copy.

From-SVN: r162707
2010-07-30 09:36:18 +00:00
Anthony Green
1242723ce9 Add moxie-rtems configuration.
From-SVN: r162706
2010-07-30 07:14:59 +00:00
Alan Modra
009ba7f5a3 Tolerate half-hour timezones.
From-SVN: r162705
2010-07-30 16:26:17 +09:30
GCC Administrator
2d0540e5d1 Daily bump.
From-SVN: r162701
2010-07-30 00:17:44 +00:00
Bernd Schmidt
25aef556b4 dce.c (run_word_dce): Take flag_dce into account.
* dce.c (run_word_dce): Take flag_dce into account.  Clear and restore
	df flags as in run_fast_df_dce.

From-SVN: r162697
2010-07-29 23:48:24 +00:00
Tobias Burnus
6a0184955c re PR fortran/45087 (-fwhole-program: Miscompiled due to wrong decls)
2010-07-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45087
        PR fortran/45125
        * trans-decl.c (gfc_get_extern_function_decl): Correctly handle
        external procedure declarations in modules.
        (gfc_get_symbol_decl): Modify assert.

2010-07-29  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45087
        PR fortran/45125
        * gfortran.dg/whole_file_25.f90: New.
        * gfortran.dg/whole_file_26.f90: New.
        * gfortran.dg/whole_file_27.f90: New.

From-SVN: r162696
2010-07-29 23:07:34 +02:00
Janus Weil
6a68e29dc5 re PR fortran/44962 ([OOP] ICE with specification expression SIZE(<CLASS>))
2010-07-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44962
	* resolve.c (resolve_fl_derived): Call gfc_resolve_array_spec.


2010-07-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/44962
	* gfortran.dg/typebound_proc_17.f03: New.

From-SVN: r162695
2010-07-29 22:58:57 +02:00
Jakub Jelinek
0f953f83c2 revert: rtl.def (NOTE): Swap operands 4 and 5.
Revert:
	* rtl.def (NOTE): Swap operands 4 and 5.
        * rtl.h (NOTE_DATA, NOTE_DELETED_LABEL_NAME, NOTE_BLOCK,
	NOTE_EH_HANDLER, NOTE_BASIC_BLOCK, NOTE_VAR_LOCATION, NOTE_KIND):
	Adjust accordingly.
        * gengtype.c (adjust_field_rtx_def): Swap operands 4 and 5 of NOTEs.

From-SVN: r162692
2010-07-29 21:48:03 +02:00
Jakub Jelinek
8b522befbf re PR debug/45110 (GCC does not emit DW_AT_object_pointer)
PR debug/45110
	* dwarf2out.c (dwarf_attr_name): Handle DW_AT_object_pointer.
	(gen_formal_types_die): Add DW_AT_object_pointer in methods.
	(gen_subprogram_die): Likewise.  Remove it when removing declaration's
	formal parameters.
	(gen_decl_die): Change return type to dw_die_ref, return what
	gen_formal_parameter_die returned.

From-SVN: r162691
2010-07-29 21:47:02 +02:00
Janus Weil
b2a5eb7501 re PR fortran/45004 ([OOP] Segfault with allocatable scalars and move_alloc)
2010-07-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45004
	* trans-stmt.h (gfc_trans_class_init_assign): New prototype.
	(gfc_trans_class_assign): Modified prototype.
	* trans.h (gfc_conv_intrinsic_move_alloc): New prototype.
	* trans-expr.c (gfc_trans_class_init_assign): Split off from ...
	(gfc_trans_class_assign): ... here. Modified actual arguments.
	* trans-intrinsic.c (gfc_conv_intrinsic_move_alloc): New function to
	handle the MOVE_ALLOC intrinsic with scalar and class arguments.
	* trans.c (trans_code): Call 'gfc_conv_intrinsic_move_alloc'.


2010-07-29  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/45004
	* gfortran.dg/move_alloc_2.f90: New.

From-SVN: r162688
2010-07-29 20:14:16 +02:00
Xinliang David Li
a3378ceac9 fix PR45121
From-SVN: r162687
2010-07-29 17:20:05 +00:00