Commit Graph

112249 Commits

Author SHA1 Message Date
Ian Lance Taylor 91a639a157 re PR target/46093 (code compiled with -fsplit-stack crashes when passing large struct)
PR target/46093
	* generic-morestack.c (__generic_morestack): Make sure the segment
	is large enough for both the stack frame and the copied
	parameters.

From-SVN: r179702
2011-10-07 22:51:11 +00:00
Richard Henderson 2205ed2513 Rename vshuffle/vec_shuffle to vec_perm.
* doc/extend.texi (__builtin_shuffle): Improve the description to
        include the modulus of the selector.  Mention OpenCL.
        * doc/md.texi (vec_perm, vec_perm_const): Document named patterns.

        * tree.def (VEC_PERM_EXPR): Rename from VEC_SHUFFLE_EXPR.
        * genopinit.c (optabs): Rename vshuffle to vec_perm.
        * c-typeck.c (c_build_vec_perm_expr): Rename from
        c_build_vec_shuffle_expr.  Update for name changes.
        * optabs.c (expand_vec_perm_expr_p): Rename from
        expand_vec_shuffle_expr_p.
        (expand_vec_perm_expr): Rename from expand_vec_shuffle_expr.
        * optabs.h (OTI_vec_perm): Rename from DOI_vshuffle.
        (vec_perm_optab): Rename from vshuffle_optab.
        * expr.c, gimple-pretty-print.c, gimple.c, gimplify.c,
        c-tree.h, c-parser.c, tree-cfg.c, tree-inline.c, tree-pretty-print.c,
        tree-ssa-operands.c, tree-vect-generic.c: Update for name changes.

        * config/i386/i386.c (ix86_expand_vec_perm): Rename from
        ix86_expand_vshuffle.
        * config/i386/i386-protos.h: Update.
        * config/i386/sse.md (VEC_PERM_AVX2): Rename from VSHUFFLE_AVX2.
        (vec_perm<VEC_PERM_AVX2>): Rename from vshuffle<VSHUFFLE_AVX2>.

From-SVN: r179701
2011-10-07 15:41:48 -07:00
Richard Henderson 524857ec5d i386: Fixup last pblendw change.
Missed changing one predicate to AVX2.  Add parenthesis
to avoid bootstrap -Werror.

From-SVN: r179700
2011-10-07 15:12:18 -07:00
Richard Henderson 96d861154f i386: Fix representation of 256-bit vpblendw.
From-SVN: r179697
2011-10-07 14:07:10 -07:00
Mikael Morin 621babd8d0 trans-array.c (gfc_conv_expr_descriptor): Remove trailing whitespace.
* trans-array.c	(gfc_conv_expr_descriptor): Remove trailing whitespace.

From-SVN: r179695
2011-10-07 20:56:31 +00:00
Mikael Morin c2eb5b539f trans-array.c (gfc_conv_ss_startstride): Merge two switch cases.
* trans-array.c	(gfc_conv_ss_startstride): Merge two switch cases.

From-SVN: r179694
2011-10-07 20:35:47 +00:00
Mikael Morin 065c6f9de2 trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray argument.
	Remove conditions on coarray.
	(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
	(gfc_conv_expr_descriptor): Ditto. Add assertions before the call.

From-SVN: r179693
2011-10-07 20:32:37 +00:00
Mikael Morin 6cb0246c1b trans-array.c (gfc_conv_section_startstride): Remove coarray_last argument.
* trans-array.c (gfc_conv_section_startstride): Remove coarray_last
	argument. Remove condition on coarray_last.
	(gfc_conv_ss_startstride): Update call to gfc_conv_section_startstride.
	(gfc_conv_expr_descriptor): Ditto.

From-SVN: r179692
2011-10-07 20:29:27 +00:00
Mikael Morin d7baf64789 trans-array.c (gfc_walk_variable_expr): Remove scalar coarray handling.
* trans-array.c (gfc_walk_variable_expr): Remove scalar coarray
	handling.  Don't reset array ref's corank and codimensions' types
	in the full array ref case.  Update loop upper limit.
	Remove DIMEN_THIS_IMAGE case.  Remove unnecessary conditions.

From-SVN: r179691
2011-10-07 20:26:11 +00:00
Mikael Morin 677e2daebf trans.h (gfc_ss_info): Remove codimen field.
* trans.h (gfc_ss_info): Remove codimen field.
	* trans-array.c (gfc_get_array_ss): Don't set codimen field.
	(gfc_trans_create_temp_array): Don't set descriptor's cobounds.
	(gfc_trans_constant_array_constructor): Update loop upper limit.
	(gfc_conv_ss_startstride): Don't set codimen field.
	Don't get descriptor's cobounds.
	(gfc_walk_variable_expr): Update dimension index.
	* trans-intrinsic.c (trans_this_image, trans_image_index,
	conv_intrinsic_cobound): Don't set codimen field

From-SVN: r179690
2011-10-07 20:22:50 +00:00
Mikael Morin c6d741b85b trans.h (gfc_loopinfo): Remove codimen field.
* trans.h (gfc_loopinfo): Remove codimen field.
	* trans-array.c (gfc_set_vector_loop_bounds,
	gfc_trans_scalarizing_loops, gfc_conv_loop_setup): Update loop upper
	limit.
	(gfc_set_loop_bounds_from_array_spec): Ditto. Remove skip on last
	codimension.
	(gfc_start_scalarized_body): Update loop lower limit.
	(gfc_conv_ss_startstride): Don't set loop's codimen field.
	(gfc_conv_loop_setup): Remove unnecessary condition.
	(gfc_conv_expr_descriptor): Don't use loop's codimen field as corank.

From-SVN: r179689
2011-10-07 20:14:44 +00:00
Mikael Morin 8e50858e07 trans.h (gfc_ss): Remove data.temp.codimen field.
* trans.h (gfc_ss): Remove data.temp.codimen field.
	* trans-array.c (gfc_conv_resolve_dependencies,
	gfc_conv_expr_descriptor): Don't set temp's codimen field.

From-SVN: r179686
2011-10-07 20:05:35 +00:00
Mikael Morin 5551a54eda resolve.c (resolve_array_ref): Set array_ref's dimen field (and the associated dimen_type) in the full array...
* resolve.c (resolve_array_ref): Set array_ref's dimen field (and the
	associated dimen_type) in the full array ref case.

From-SVN: r179685
2011-10-07 19:56:11 +00:00
Mikael Morin 9b701a45c0 trans-intrinsic.c (walk_coarray): New function.
* trans-intrinsic.c (walk_coarray): New function.
	(convert_element_to_coarray_ref): Move code to walk_coarray. Remove.
	(trans-this_image, trans_image_index, conv_intrinsic_cobound):
	Use walk_coarray.

From-SVN: r179684
2011-10-07 19:52:34 +00:00
Mikael Morin 6bd0ce7b61 trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer cobounds evaluation.
* trans-array.c (gfc_conv_expr_descriptor): Add out-of-the-scalarizer
	cobounds evaluation.

From-SVN: r179683
2011-10-07 19:47:07 +00:00
Mikael Morin 199c387dd1 trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.
* trans-array.c (gfc_conv_ss_startstride): Support zero rank loop.

From-SVN: r179682
2011-10-07 19:43:21 +00:00
Mikael Morin 287b3dd2b2 trans-array.c (gfc_conv_section_startstride): Move code to evaluate_bound.
* trans-array.c (gfc_conv_section_startstride): Move code to
	evaluate_bound.  Use evaluate_bound.
	(evaluate_bound): New function.

From-SVN: r179681
2011-10-07 19:39:22 +00:00
Mikael Morin b0ac6998a7 trans-array.c (gfc_conv_section_startstride): Update assertion to also accept coarrays.
* trans-array.c (gfc_conv_section_startstride): Update assertion to
	also accept coarrays.

From-SVN: r179680
2011-10-07 19:36:20 +00:00
Mikael Morin 3ca398580d trans-array.c (gfc_conv_section_startstride): Factor common array ref references.
* trans-array.c (gfc_conv_section_startstride): Factor common
	array ref references.

From-SVN: r179679
2011-10-07 19:33:10 +00:00
Mikael Morin a7525708c6 trans-array.c (gfc_conv_expr_descriptor): Use codim instead of loop.codimen as argument to gfc_get_array_type_bounds.
* trans-array.c (gfc_conv_expr_descriptor): Use codim instead of
	loop.codimen as argument to gfc_get_array_type_bounds.

From-SVN: r179677
2011-10-07 19:28:55 +00:00
Mikael Morin 23c3d0f972 trans-array.h (struct gfc_se): New flag want_coarray.
* trans-array.h (struct gfc_se): New flag want_coarray.
	* trans-intrinsic.c (trans_this_image, trans_image_index,
	conv_intrinsic_cobound): Set want_coarray.
	* trans_array.c (gfc_conv_expr_descriptor): Evaluate codimension
	earlier and without relying on the scalarizer.

From-SVN: r179676
2011-10-07 19:24:07 +00:00
Mikael Morin 89010691e4 expr.c (gfc_get_corank): Return 0 if input expression is not a coarray.
* expr.c (gfc_get_corank): Return 0 if input expression is not a
	coarray.

From-SVN: r179675
2011-10-07 19:14:07 +00:00
Mikael Morin bb033c9adc trans-array.c (gfc_conv_expr_descriptor): Simplify coarray descriptor setup code.
* trans-array.c (gfc_conv_expr_descriptor): Simplify coarray
	descriptor setup code.

From-SVN: r179674
2011-10-07 19:11:01 +00:00
Mikael Morin b78a06b224 resolve.c (compare_spec_to_ref): Move coarray ref initialization code...
* resolve.c (compare_spec_to_ref): Move coarray ref initialization
	code...
	(resolve_array_ref): ... here.

From-SVN: r179672
2011-10-07 19:07:04 +00:00
Mikael Morin 266edc7e83 check.c (is_coarray): Remove.
* check.c (is_coarray): Remove.
	(coarray_check): Use gfc_is_coarray.

From-SVN: r179671
2011-10-07 19:02:36 +00:00
Richard Henderson e1faf1503e Delete incorrect representations of avx2 shifts.
* config/i386/i386.c (bdesc_args): Update code for
	__builtin_ia32_palignr256.  Change type of __builtin_ia32_pslldqi256,
	and __builtin_ia32_psrldqi256 to V4DI_FTYPE_V4DI_INT_CONVERT.
	(ix86_expand_args_builtin): Handle V4DI_FTYPE_V4DI_INT_CONVERT.
	* config/i386/sse.md (mode iterator V16): Add V2TI.
	(mode iterator SSESCALARMODE): Use V2TI not V4DI.
	(mode attr ssse3_avx2): Add V2TI.
	(avx2_lshrqv4di3, avx2_lshlqv4di3): Remove.

From-SVN: r179668
2011-10-07 11:19:50 -07:00
David S. Miller 26e2f443df Fix VIS3 assembler check and conditionalize testsuite on VIS3 support.
gcc/

	PR 50655
	* configure.ac: Add .register directives to VIS3 test.
	* configure: Regenerate.

gcc/testsuite/

	PR 50655
	* gcc.target/sparc/sparc.exp: Add vis3 target test.
	* gcc.target/sparc/cmask.c: Use it.
	* gcc.target/sparc/fhalve.c: Likewise.
	* gcc.target/sparc/fnegop.c: Likewise.
	* gcc.target/sparc/fpadds.c: Likewise.
	* gcc.target/sparc/fshift.c: Likewise.
	* gcc.target/sparc/fucmp.c: Likewise.
	* gcc.target/sparc/lzd.c: Likewise.
	* gcc.target/sparc/vis3misc.c: Likewise.
	* gcc.target/sparc/xmul.c: Likewise.

From-SVN: r179667
2011-10-07 10:23:47 -07:00
Richard Henderson d792cd1e4a Fix avx256 test cases for AVX2.
From-SVN: r179666
2011-10-07 10:01:43 -07:00
Jonathan Wakely 920a97b75d testsuite_allocator.h (uneq_allocator): Add propagate_on_container_swap typedef for C++0x testing.
2011-10-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* testsuite/util/testsuite_allocator.h (uneq_allocator): Add
	propagate_on_container_swap typedef for C++0x testing.

From-SVN: r179665
2011-10-07 16:20:31 +00:00
Richard Henderson d67ce16aa5 * config.gcc (x86_64-*): Add core-avx-i, core-avx2 for with_cpu.
From-SVN: r179664
2011-10-07 08:43:12 -07:00
Richard Henderson dca804668a re PR other/49752 (Non-existing struct `tree_type' in fold_checksum_tree in fold-const.c, can't build with `--enable-checking=fold')
PR 49752
        * fold-const.c (fold_checksum_tree): Remove out-of-date assert.

From-SVN: r179663
2011-10-07 08:35:49 -07:00
Andrew Stubbs 793f1c97d1 predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/predicates.md (shift_amount_operand): Remove constant
	range check.
	(shift_operator): Check range of constants for all shift operators.

	gcc/testsuite/
	* gcc.dg/pr50193-1.c: New file.
	* gcc.target/arm/shiftable.c: New file.

From-SVN: r179662
2011-10-07 15:00:06 +00:00
Andrew Stubbs 55cdadd504 predicates.md (shift_amount_operand): Remove constant range check.
2011-10-07  Andrew Stubbs  <ams@codesourcery.com>

	gcc/
	* config/arm/predicates.md (shift_amount_operand): Remove constant
	range check.
	(shift_operator): Check range of constants for all shift operators.

	gcc/testsuite/
	* gcc.dg/pr50193-1.c: New file.
	* gcc.target/arm/shiftable.c: New file.

From-SVN: r179661
2011-10-07 14:59:37 +00:00
Janus Weil 58eba51591 re PR fortran/50625 ([OOP] ALLOCATABLE attribute lost for module CLASS variables)
2011-10-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50625
	* class.c (gfc_build_class_symbol): Fix whitespace.
	* module.c (mio_symbol): Set 'class_ok' attribute.
	* trans-decl.c (gfc_get_symbol_decl): Make sure the backend_decl has
	been built for class symbols.


2011-10-07  Janus Weil  <janus@gcc.gnu.org>

	PR fortran/50625
	* gfortran.dg/class_46.f03: New.

From-SVN: r179660
2011-10-07 16:40:14 +02:00
Joern Rennecke 14307a72de pr47276.c (ASMNAME, [...]): Define.
* gcc.dg/pr47276.c (ASMNAME, ASMNAME2, STRING): Define.
        (__EI___vsyslog_chk, __EI_syslog, __EI_vsyslog): Use ASMNAME.  
        (syslog, vsyslog, __vsyslog_chk): Likewise.

        * gcc.dg/lto/20081222_1.c (ASMNAME, ASMNAME2, STRING): Define.
        (x, EXT_x): Use ASMNAME.

        * gcc.dg/torture/pr48044.c (ASMNAME, ASMNAME2, STRING): Define.
        (a, c): Use ASMNAME.

From-SVN: r179659
2011-10-07 14:52:17 +01:00
Andreas Krebbel 68c0ef75f3 s390.c (s390_emit_tls_call_insn): Remove assertion.
2011-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_emit_tls_call_insn): Remove assertion.
	Load GOT pointer for non-pic builds.
	(s390_load_got): Replace pic_offset_table_rtx with hardcoded r12.
	(s390_emit_call): Likewise.

From-SVN: r179658
2011-10-07 13:50:01 +00:00
Tom de Vries 8be5e1cc7d re PR middle-end/50527 (inconsistent vla align)
2011-10-07  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/50527
	* gcc.dg/pr50527.c: New test.

From-SVN: r179656
2011-10-07 12:49:56 +00:00
Tom de Vries 13e49da934 re PR middle-end/50527 (inconsistent vla align)
2011-10-07  Tom de Vries  <tom@codesourcery.com>

	PR middle-end/50527
	* tree.c (build_common_builtin_nodes): Add local_define_builtin for
	BUILT_IN_ALLOCA_WITH_ALIGN.  Mark that BUILT_IN_ALLOCA_WITH_ALIGN can
	throw.
	* builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN
	arglist.  Set align for	BUILT_IN_ALLOCA_WITH_ALIGN.
	(expand_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
	(is_inexpensive_builtin): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
	* tree-ssa-ccp.c (evaluate_stmt): Set align for
	BUILT_IN_ALLOCA_WITH_ALIGN.
	(fold_builtin_alloca_for_var): Rename to ...
	(fold_builtin_alloca_with_align): Set DECL_ALIGN from 2nd
	BUILT_IN_ALLOCA_WITH_ALIGN argument.
	(ccp_fold_stmt): Try folding BUILT_IN_ALLOCA_WITH_ALIGN using
	fold_builtin_alloca_with_align.
	(optimize_stack_restore): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
	* builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using
	DEF_BUILTIN_STUB.
	* ipa-pure-const.c (special_builtin_state): Handle
	BUILT_IN_ALLOCA_WITH_ALIGN.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1)
	(call_may_clobber_ref_p_1): Same.
	* function.c (gimplify_parameters): Lower vla to
	BUILT_IN_ALLOCA_WITH_ALIGN.
	* gimplify.c (gimplify_vla_decl): Same.
	* cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN.
	* tree-mudflap.c (mf_xform_statements): Same.
	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary)
	(mark_all_reaching_defs_necessary_1, propagate_necessity): Same.
	* varasm.c (incorporeal_function_p): Same.
	* tree-object-size.c (alloc_object_size): Same.
	* gimple.c (gimple_build_call_from_tree): Same.

From-SVN: r179655
2011-10-07 12:49:49 +00:00
Bernd Schmidt 764a2546bb function.c (frame_required_for_rtx): Remove function.
* function.c (frame_required_for_rtx): Remove function.
	(requires_stack_frame_p): New arg set_up_by_prologue.  All callers
	changed.  Compute a set of mentioned registers and compare against
	the new arg rather than calling frame_required_for_rtx.
	(thread_prologue_and_epilogue_insns): Compute the set_up_by_prologue
	reg set.  Convert the unconverted_simple_returns mechanism to store
	jump insns rather than their basic blocks.  Also check the
	orig_entry_edge destination for new blocks.

From-SVN: r179654
2011-10-07 12:20:17 +00:00
Jakub Jelinek 87aab9b24b re PR middle-end/50650 (ICE in vect_is_simple_use_1, at tree-vect-stmts.c:5689)
PR tree-optimization/50650
	* tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Don't
	call vect_is_simple_cond here, instead fail if cond_expr isn't
	COMPARISON_CLASS_P or if get_vectype_for_scalar_type returns NULL
	for cond_expr's first operand.
	* tree-vect-stmts.c (vect_is_simple_cond): Static again.
	* tree-vectorizer.h (vect_is_simple_cond): Remove prototype.

	* gcc.c-torture/compile/pr50650.c: New test.

From-SVN: r179653
2011-10-07 13:48:03 +02:00
Eric Botcazou 228ee42613 re PR lto/50492 (Ada bootstrap failure --with-build-config=bootstrap-lto)
PR lto/50492
	* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
	* gcc-interface/utils.c (global_context): New variable.
	(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
	that are either public external or at top level.  Use "No" macro.
	(end_subprog_body): Call decl_function_context.
	(rest_of_subprog_body_compilation): Likewise.

From-SVN: r179652
2011-10-07 11:43:03 +00:00
Rainer Orth b97bf1ac69 Disable ABI warnings for gcc.c-torture/execute/vector-compare-2.c (PR tree-optimization/50575)
PR tree-optimization/50575
	* gcc.c-torture/execute/vector-compare-2.x: New file.

From-SVN: r179651
2011-10-07 11:32:59 +00:00
Eric Botcazou 71196d4e64 gigi.h (gnat_useless_type_conversion): Declare.
* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
	(rest_of_subprog_body_compilation): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
	test for useless conversions by means of gnat_useless_type_conversion.
	* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
	(language_function): Add named_ret_val and other_ret_val.
	(f_named_ret_val): New macro.
	(f_other_ret_val): Likewise.
	(gigi): Call rest_of_subprog_body_compilation.
	(struct nrv_data): New structure.
	(is_nrv_p): New predicate.
	(prune_nrv_r): New helper function.
	(prune_nrv_in_block): New function.
	(finalize_nrv_r): New helper function.
	(finalize_nrv): New function.
	(return_value_ok_for_nrv_p): New predicate.
	(build_return_expr): If optimization is enabled, record candidates for
	the Named Return Value optimization.
	(build_function_stub): Call rest_of_subprog_body_compilation.
	(Subprogram_Body_to_gnu): If optimization is enabled and there are
	candidates, finalize the Named Return Value optimization.
	Call rest_of_subprog_body_compilation.
	(call_to_gnu): At the end, if a return value is needed, simplify the
	result before wrapping it up in a COMPOUND_EXPR.
	* gcc-interface/utils.c (end_subprog_body): Split into...
	(rest_of_subprog_body_compilation): ...this.  New function.
	(gnat_useless_type_conversion): Likewise.

From-SVN: r179650
2011-10-07 11:17:55 +00:00
Rainer Orth 302b8e2a16 Don't XFAIL gcc.dg/uninit-B.c etc. (PR middle-end/50125)
PR middle-end/50125
	* gcc.dg/uninit-B.c (baz): Remove xfail *-*-*.
	* gcc.dg/uninit-pr19430.c (main): Remove xfail *-*-*.
	(bar3): Likewise.

From-SVN: r179649
2011-10-07 09:02:13 +00:00
Richard Guenther 54616742d8 re PR testsuite/50637 (gcc.dg/vect/vect-align-2.c is invalid (FAILs with -O2 -flto -fpeel-loops))
2011-10-07  Richard Guenther  <rguenther@suse.de>

	PR testsuite/50637
	* gcc.dg/vect/vect-align-2.c: Increase array size.

From-SVN: r179648
2011-10-07 08:28:48 +00:00
Andreas Krebbel 6e0d70c957 s390.md (DWH, dwh): New mode macros.
2011-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.md (DWH, dwh): New mode macros.
	("umulsidi3"): Extend to support "umulditi3" as well.

From-SVN: r179647
2011-10-07 06:51:26 +00:00
Uros Bizjak 10c1a3e722 re PR target/50603 ([x32] Unnecessary lea)
PR target/50603
	* config/i386/i386.c (ix86_fixup_binary_operands): Force src2 of
	integer PLUS RTX to a register to improve address combine.

testsuite/ChangeLog:

	PR target/50603
	* gcc.target/i386/pr50603.c: New test.

From-SVN: r179646
2011-10-07 08:43:17 +02:00
GCC Administrator e7912e12dd Daily bump.
From-SVN: r179642
2011-10-07 00:19:37 +00:00
Richard Henderson 4efb91dfc3 re PR middle-end/50632 (FAIL: gcc.dg/pr50132.c)
PR 50632

        * combine-stack-adjust.c (maybe_move_args_size_note): Add after
        parameter; use it to decide whether to merge two notes.
        (combine_stack_adjustments_for_block): Use maybe_move_args_size_note
        for the deallocation case as well.

From-SVN: r179637
2011-10-06 15:22:11 -07:00
Jason Merrill 7e8ec1ec70 re PR c++/39164 ([C++0x] defaulted dtor redefinition not caught)
PR c++/39164
	* decl.c (grokfndecl): Diagnose redefinition of defaulted fn.

From-SVN: r179634
2011-10-06 15:56:53 -04:00