> -----Original Message----- > From: Joseph Myers [mailto:jos...@codesourcery.com] > Sent: Monday, June 10, 2013 10:40 AM > To: Iyer, Balaji V > Cc: gcc-patches@gcc.gnu.org; Jakub Jelinek; mpola...@gcc.gnu.org > Subject: Re: [PATCH] Fix for PR c/57563 > > On Sun, 9 Jun 2013, Iyer, Balaji V wrote: > > > Attached, please find a patch that will fix the bug reported in PR > > 57563. There are a couple issues that went wrong. First, in the test > > case, we have a double multiplied to a double. When -std=c99 flag is > > used, they get converted to long double. The way to fix this is to add > > a type cast to the array notation to the same type as identity > > variable and thus they will all be double. > > You don't say what the actual error was, and neither does the original PR. > But if it was an ICE from an EXCESS_PRECISION_EXPR getting to the gimplifier, > that suggests that c_fully_fold isn't getting called somewhere it should be - > and > probably calling c_fully_fold is the correct fix rather than inserting a > cast. If you > can get such ICEs for EXCESS_PRECISION_EXPR, it's quite possible you might get > them for C_MAYBE_CONST_EXPR as well (e.g. try using 0 / 0, or compound > literals of variably modified type, in various places in the affected > expressions), > which should be fixed by using c_fully_fold but not by inserting a cast.
It was not. It was actually a type mismatch between double and long double caught in verify_gimple_in_seq function. So, is it OK for trunk? Thanks, Balaji V. Iyer. > > -- > Joseph S. Myers > jos...@codesourcery.com