When we're determining the exception-specification of a defaulted dtor, we need to look at the NSDMIs. During this process we set cp_unevaluated_operand. But having that set during instantiation of the lambda breaks things. So let's clear it like we do in other places. The one tricky bit is that we need to restore the flag before we start instantiating the capture initializers, since they're properly part of the enclosing context. Tested x86_64-pc-linux-gnu, applying to trunk and 5.