================ @@ -2187,7 +2187,10 @@ std::optional<SVal> RegionStoreManager::getBindingForDerivedDefaultValue( // Lazy bindings are usually handled through getExistingLazyBinding(). // We should unify these two code paths at some point. - if (isa<nonloc::LazyCompoundVal, nonloc::CompoundVal>(val)) + // 'nonloc::ConcreteInt' values can arise from compound literals in + // designated initializers for bitfields in unions. + if (isa<nonloc::LazyCompoundVal, nonloc::CompoundVal, nonloc::ConcreteInt>( + val)) ---------------- vbvictor wrote:
> Could you help me with a Store for which the crash happened without the fix? I'm not sure what do you mean by "a Store", minimal repro goes like this: https://godbolt.org/z/8z1vqf6Wv. We get the crush as soon as try to get default binding of a copied struct. The fix may be a little "light-minded", I'll try to investigate more on the issue with other NonLocs that could get beside ConcreteInt. https://github.com/llvm/llvm-project/pull/146418 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits