aaron.ballman added a comment. In D129048#3692394 <https://reviews.llvm.org/D129048#3692394>, @thakis wrote:
> This change caused a ton of churn, for what I understand fix the diag in C > mode when assert.h is not included. Which is not that uncommon of a scenario: https://sourcegraph.com/search?q=context:global+file:.*%5C.c+_Static_assert&patternType=literal&case=yes > IMHO, it would've been better to change the diag to say either > `static_assert` as before in c++ mode or when assert.h is included (i.e. > almost always), and `_Static_assert` else. You can use > PP.getLastMacroWithSpelling() to (effectively) detect if assert.h was > included. > > Is this something y'all had considered? Yes, and that approach is actually more complicated to get correct. Part of the trouble is MSVC compatibility where `static_assert` is allowed in C mode even without including `assert.h` and that kind of thing. Ultimately, we decided the principle is: if the diagnostic is about parsing the syntax we'll use the actual token name, otherwise we'll use "static assertion" as a prose term instead to avoid having the diagnostic be wrong in edge cases. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D129048/new/ https://reviews.llvm.org/D129048 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits