[Clang] Run destructors of variables declared in the second part of a `for` loop during constant evaluation (#140278)
Within the condition statement of the for block, the destructor doesn't
get called when evaluating compile time constants.
Resolves #139818