ojeda added inline comments.

================
Comment at: clang/include/clang/Basic/Features.def:52
         LangOpts.Sanitize.hasOneOf(SanitizerKind::Undefined))
+FEATURE(coverage_sanitizer, LangOpts.SanitizeCoverage)
 FEATURE(assume_nonnull, true)
----------------
melver wrote:
> aaron.ballman wrote:
> > I think this is likely fine, but wanted to call it out explicitly in case 
> > others had opinions.
> > 
> > `FEATURE` is supposed to be used for standard features and `EXTENSION` used 
> > for Clang extensions. This is an extension, not a standard feature, so it's 
> > wrong in that way. However, it's following the same pattern as the other 
> > sanitizers which is consistent. I think consistently wrong is better than 
> > inconsistently right for this case, but I have no idea how others feel.
> Yes, you are correct of course, and I was pondering the same thing.
> 
> In the end I'd like all sanitizers be queryable via `__has_feature()` and not 
> have this be the odd one out requiring `__has_extension()` as that's also 
> going to lead to confusion/errors on the user side. 
Perhaps add both, deprecate `__has_feature()` for non-standard features like 
these ones, and remove them after a couple releases? :)

Regardless of the way, //any// is better than a version check, so thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103159/new/

https://reviews.llvm.org/D103159

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to