From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22691 invoked by alias); 24 Nov 2007 16:16:32 -0000 Received: (qmail 22678 invoked by uid 22791); 24 Nov 2007 16:16:31 -0000 X-Spam-Check-By: sourceware.org Received: from zs01.physik.fu-berlin.de (HELO zs01.physik.fu-berlin.de) (160.45.35.150) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 24 Nov 2007 16:16:23 +0000 Received: from ith.physik.fu-berlin.de ([160.45.32.115] helo=[127.0.0.1]) by zs01.physik.fu-berlin.de with esmtp (Exim 4.63) (envelope-from ) id 1Ivxfz-0001Di-Bu; Sat, 24 Nov 2007 17:16:17 +0100 Message-ID: <47484E4F.9090801@net-b.de> Date: Sat, 24 Nov 2007 20:54:00 -0000 From: Tobias Burnus User-Agent: Thunderbird 2.0.0.6 (X11/20070801) MIME-Version: 1.0 To: Aldy Hernandez , Jack Howarth CC: Richard Guenther , fortran@gcc.gnu.org, Andrew Pinski , Diego Novillo , gcc-patches@gcc.gnu.org Subject: libgomp failure (was: Re: [FORTRAN mainline] dereference POINTER_PLUS_EXPR check) References: <20071121204635.GA7204@redhat.com> <4744A197.1060701@google.com> <20071121215235.GA11077@redhat.com> <84fc9c000711211357w7a2587d2n663dd561845e4e1c@mail.gmail.com> <20071121225800.GA5508@redhat.com> <84fc9c000711211525h37554477yf567a8265f09d59@mail.gmail.com> <20071122005837.GA7171@redhat.com> <20071122172301.GA17740@redhat.com> <84fc9c000711220948p74bf7bb8he63f95baf9ba38f1@mail.gmail.com> <20071123002727.GA16608@redhat.com> In-Reply-To: <20071123002727.GA16608@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-ZEDV-Virus-Scanned: No viruses found. [ClamAV 0.90.1/4902/Sat Nov 24 15:41:20 2007] X-ZEDV-Spam-Level: ---- X-ZEDV-Spam-Checker-Version: SpamAssassin 3.1.7-deb (2006-10-05) on zs01.physik.fu-berlin.de X-ZEDV-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.1.7-deb X-ZEDV-Spam-Report: * -1.8 ALL_TRUSTED Passed through trusted hosts only via SMTP * -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% * [score: 0.0000] Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2007-11/txt/msg01294.txt.bz2 Aldy Hernandez wrote: >> It should use the type of DEST, all pointers are trivially convertible >> to void *, >> which is the formal argument of memset (in the ChangeLog you have memmove). >> >> Not that it makes a big difference here (in the end we try to be type-exact in >> one expression tree, but as the expression result type will vanish with tuples, >> there won't a difference for both cases). >> > Fixed below. > This patch seems to cause a lot of libgomp regressions. See: http://gcc.gnu.org/ml/fortran/2007-11/msg00209.html For libgomp.fortran/character1.f90 with "gfortran -fopenmp": libgomp.fortran/character1.f90: In function 'test': libgomp.fortran/character1.f90:39: internal compiler error: in omp_add_variable, at gimplify.c:4677 (without "-fopenmp" there is no failure) If I revert the following patch, the ICE is gone. r130371 | aldyh | 2007-11-23 11:50:45 +0100 (Fri, 23 Nov 2007) | 2 lines + * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a + memset. > * trans-expr.c (gfc_trans_string_copy): Use "void *" when building a > memset. > > --- trans-expr.c (revision 130355) > +++ trans-expr.c (local) > @@ -2701,7 +2701,7 @@ gfc_trans_string_copy (stmtblock_t * blo > tmp3 = build_call_expr (built_in_decls[BUILT_IN_MEMMOVE], > 3, dest, src, slen); > > - tmp4 = fold_build2 (POINTER_PLUS_EXPR, pchar_type_node, dest, > + tmp4 = fold_build2 (POINTER_PLUS_EXPR, TREE_TYPE (dest), dest, > fold_convert (sizetype, slen)); > tmp4 = build_call_expr (built_in_decls[BUILT_IN_MEMSET], 3, > tmp4, > > Tobias