From patchwork Mon Jul 19 12:14:10 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [fortran] PR42385 - [OOP] poylmorphic operators do not work Date: Mon, 19 Jul 2010 02:14:10 -0000 From: Paul Richard Thomas X-Patchwork-Id: 59193 Message-Id: To: Tobias Burnus Cc: fortran@gcc.gnu.org, gcc-patches@gcc.gnu.org Tobias, try { > attachment } except { > ERROR STOP 'No patch found' } > >> The attached patch implements defined operators for CLASS objects. >> Boostrapped and regtested on x86_64/FC9 - OK for trunk? > > That part of the patch looks OK. Good; except the testcase doesn't work without the missing bit..... > > Thanks! Thanks to you and Dominique for the reviews. Cheers Paul Index: gcc/fortran/trans-decl.c =================================================================== --- gcc/fortran/trans-decl.c (revision 162294) +++ gcc/fortran/trans-decl.c (working copy) @@ -3249,8 +3249,10 @@ /* Deallocate when leaving the scope. Nullifying is not needed. */ - tmp = gfc_deallocate_with_status (se.expr, NULL_TREE, true, - NULL); + tmp = NULL_TREE; + if (!sym->attr.result) + tmp = gfc_deallocate_with_status (se.expr, NULL_TREE, + true, NULL); gfc_add_init_cleanup (&try_block, gfc_finish_block (&init), tmp); }