tahonermann added a comment. Here is a simple test case that fails the assertion in the current location.
struct B { B(int, int); }; struct D : B { D() : B(0, 1) {} }; I spent a bit more time looking at the code and finally realized that `Initializer` is only assigned when `Args.size()` is exactly 1. So `Initializer` doesn't equate to whether or not an initializer is present; it equates to when exactly one initialization argument is present and in that case it aliases `Args[0]`. I don't like that, but deviating from it just to address a Coverity complaint doesn't seem justified. I suggest we do this: add an assertion on `Initializer` at the beginning of each of the blocks that Coverity complained about. In my view of the source, that corresponds to lines 5939, 5958, and 6025. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139148/new/ https://reviews.llvm.org/D139148 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits