aaron.ballman added a comment. In D122983#3452994 <https://reviews.llvm.org/D122983#3452994>, @rsmith wrote:
> In D122983#3451920 <https://reviews.llvm.org/D122983#3451920>, @erichkeane > wrote: > >> I think Aaron's approach provides a proper 'depreciation' period in our >> compiler, as best as we have the ability to do. > > We've been warning by default for a decade that this code is not valid in > C99; that was our deprecation period. I thought about this perspective a bunch overnight and I think I agree that this is reasonable given that the warning explicitly calls the code out as being *invalid*. > If the aim is to provide a deprecation period, the end goal should be that in > some future Clang version we complete the transition and change the C99 > default to reject too. Otherwise, that's not a deprecation period, that's a > permanent language extension in our C99 mode -- and it seems capricious to > provide that extension by default in C99 mode but not C11 / C17 mode. Given > that this extension is, well, bad, I think we shouldn't be providing it by > default anywhere. It's not hard for people to turn the warning flag off, and > people intentionally using this in C99 onwards probably already have done so. FWIW, I misunderstood your original suggestion: > I think we should just make this an error by default in C99 onwards; I thought you meant this should be an *error* (not a warning defaulting to an error) in C99 and later. That would be too aggressive of an approach for me to support because it gives no upgrade path to users to easily get onto Clang 15. Now that I understand you better, I like your approach and rationale. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D122983/new/ https://reviews.llvm.org/D122983 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits