Previously LValueToRValueBitCasts were modeled in the same way how
a regular BitCast was. However, this should not produce an l-value.
Modeling bitcasts accurately is tricky, so it's probably better to
model this expression by binding a fresh conjured value.
The following code should not result in a diagnostic:
__attribute__((always_inline)) static inline constexpr unsigned int_castf32_u32(float __A) { return __builtin_bit_cast(unsigned int, __A); // no-warning }
Previously, it reported
Address of stack memory associated with local variable '__A' returned to caller [core.StackAddressEscape].
How difficult would it be to handle the cast properly by adding it to this branch, except eventually passing the right type to getSVal(R, ...) inside evalLoad()?