On Wed, Nov 12, 2008 at 4:03 PM, Daniel Dunbar <[EMAIL PROTECTED]> wrote:
> Author: ddunbar
> Date: Wed Nov 12 18:03:19 2008
> New Revision: 59196
>
> URL: http://llvm.org/viewvc/llvm-project?rev=59196&view=rev
> Log:
> Fix bug in constant evaluation exposed by 176.gcc.
>  - Evaluation of , operator used bogus assumption that LHS could be
>   evaluated as an integral expression even though its type is
>   unspecified.
>
> This change is making isICE very permissive of the LHS in non-evaluated
> contexts because it is not clear what predicate we would use to reject
> code here. The standard didn't offer me any guidance; opinions?

Woah, this looks really strange.

One, you're committing a change to isICE without a test, which is
definitely a bad idea.  What are you trying to accomplish there?

Second, this is somewhat tricky territory with tryEvaluate: we can
definitively calculate the value of a comma operator without it
actually being constant.  I'm not sure how we want to deal with this
case, though: I think a lot of the code using tryEvaluate is ignoring
the possibility of side-effects.

-Eli
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to