yaxunl added a comment. I'd like to clarify a little bit about `deferring` an error.
First it is localized to a function. If an error causes a function not parsed completely, it will be emitted immediately. So if an error is deferred, it means clang at least parses that function containing it. Second, if an entity caused an error which is `deferred`, it does not mean clang thinks `gee, let's defer it, and thinks now we do not have error here`. It is more like `OK here is an error and we know it. We just save that message somewhere and do not print it out for now.` clang knows that error happened and propagates the error status the same way as non-deferred diagnostics inside that function. In a sense, the deferred diagnostic and immediate diagnostic does not differ much. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84364/new/ https://reviews.llvm.org/D84364 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits