From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14732 invoked by alias); 22 Sep 2010 08:36:01 -0000 Received: (qmail 12849 invoked by uid 48); 22 Sep 2010 08:35:48 -0000 Date: Wed, 22 Sep 2010 08:36:00 -0000 Message-ID: <20100922083548.12848.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/45746] [OOP] ICE in fold_convert_loc: pointer to allocatable array with select type In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "burnus at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-09/txt/msg02462.txt.bz2 ------- Comment #1 from burnus at gcc dot gnu dot org 2010-09-22 08:35 ------- Fails in gfc_trans_scalar_assign for the line: gfc_add_modify (&block, lse->expr, fold_convert (TREE_TYPE (lse->expr), rse->expr)); as switch (TREE_CODE (type)) in fold_convert reaches gcc_unreachable. Hereby, (gdb) p lse->expr->common.type->base->code $1 = RECORD_TYPE (gdb) p rse->expr->common.type->base->code $2 = RECORD_TYPE And both types are different, cf. (gdb) p rse->expr->common.type $4 = (tree) 0x2aaaad533e70 (gdb) p lse->expr->common.type $5 = (tree) 0x2aaaad538000 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45746