> -----Original Message----- > From: Joseph Myers [mailto:joseph@codesourcery.com] > Sent: Monday, June 10, 2013 5:18 PM > To: Iyer, Balaji V > Cc: gcc-patches@gcc.gnu.org; Jakub Jelinek; mpolacek@gcc.gnu.org > Subject: RE: [PATCH] Fix for PR c/57563 > > On Mon, 10 Jun 2013, Iyer, Balaji V wrote: > > > I looked into it a bit more detail. It was an error on my side. I was > > removing the excess precision expr layer instead of fully folding it. > > I did that change (i.e. fully fold the expression) and all the errors > > seem to go away. Here is the fixed patch that fixes PR c/57563. It > > passes for > > 32 bit and 64 bit tests. Here are the changelog entries: > > This version is better, but if removing an EXCESS_PRECISION_EXPR there caused > problems, why is it OK to remove CONVERT_EXPR and NOP_EXPR like you still > do - won't that also cause type mismatches (at least if the conversions are to > types that count as sufficiently different for GIMPLE purposes - say conversions > between 32-bit and 64-bit integers)? Maybe you actually need to fold without > removing any such wrappers first at all? I looked into it and they were an artifact of previous implementation. Those while loops were not even being entered. Thus, I took them out. Here is a fixed patch. Thanks, Balaji V. Iyer. > > -- > Joseph S. Myers > joseph@codesourcery.com