vsapsai added a comment. Want to note that originally the issue was noticed with the modules because we serialize and deserialize `PointerTypeLoc::starLoc` and on deserialization we assert if the value is too big. With uninitialized memory the value can be too big //sometimes// and clang was failing intermittently. For testing don't use modules anymore and call `PointerTypeLoc::getStarLoc` directly to make it simpler and more reliable.
================ Comment at: clang/lib/Sema/SemaType.cpp:6509-6512 if (AtomicTypeLoc ATL = CurrTL.getAs<AtomicTypeLoc>()) { fillAtomicQualLoc(ATL, D.getTypeObject(i)); CurrTL = ATL.getValueLoc().getUnqualifiedLoc(); } ---------------- Didn't move `AtomicTypeLoc` into the `switch` because it is peeled off only once and not in the `while` loop unlike other TypeLocs. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D141424/new/ https://reviews.llvm.org/D141424 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits