On 04/07/2011 05:41 PM, Jason Merrill wrote: > PR 48450 has to do with SFINAE bugs, but one of them turns out to be a > different sort of bug: we were failing to convert from a non-constant > value of scoped enum type to bool, because that conversion was doing a > != 0, which requires an implicit conversion to int. So now we explicitly > convert to the underlying integral type first, and prevent c-common from > helpfully removing it again. ...except that if the underlying type is bool, this leads to infinite recursion. So use build_nop instead of convert. Tested x86_64-pc-linux-gnu, applying to trunk and 4.6.