On Mon, Feb 22, 2016 at 1:57 PM, Manman Ren <m...@apple.com> wrote: > > On Feb 22, 2016, at 10:37 AM, Aaron Ballman via cfe-commits > <cfe-commits@lists.llvm.org> wrote: > > On Mon, Feb 22, 2016 at 1:24 PM, Manman Ren via cfe-commits > <cfe-commits@lists.llvm.org> wrote: > > Author: mren > Date: Mon Feb 22 12:24:30 2016 > New Revision: 261548 > > URL: http://llvm.org/viewvc/llvm-project?rev=261548&view=rev > Log: > Add has_feature attribute_availability_with_strict. > > rdar://23791325 > > > Please add more context to commit logs; radar reports in commit logs > don't help those of us who are not at Apple. Also, I don't recall > seeing this patch go through the review process, can you point me to > the thread? > > > This is a follow-up to r261163 and r261512. The strict qualifier was added > in these two revisions. > Sorry for not putting in the context in the commit message,
Thank you for the context. Since this is a user-facing change, it probably should have had a separate review so we could discuss things like __has_feature vs __has_attribute before the commit goes live. That being said: patch LGTM. :-) ~Aaron > > Manman > > > > Modified: > cfe/trunk/lib/Lex/PPMacroExpansion.cpp > cfe/trunk/test/Sema/attr-availability-macosx.c > > Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=261548&r1=261547&r2=261548&view=diff > ============================================================================== > --- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original) > +++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Mon Feb 22 12:24:30 2016 > @@ -1066,6 +1066,7 @@ static bool HasFeature(const Preprocesso > .Case("attribute_availability_with_version_underscores", true) > .Case("attribute_availability_tvos", true) > .Case("attribute_availability_watchos", true) > + .Case("attribute_availability_with_strict", true) > > > I wonder if this would actually be better as an attribute feature > testing macro, instead of bolted on to __has_feature. It's strange to > have attribute feature testing capabilities and not use them. That > being said, I'm not opposed to this patch as-is because there are > other attribute_availability_* feature test. > > Thanks! > > ~Aaron > > .Case("attribute_cf_returns_not_retained", true) > .Case("attribute_cf_returns_retained", true) > .Case("attribute_cf_returns_on_parameters", true) > > Modified: cfe/trunk/test/Sema/attr-availability-macosx.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/attr-availability-macosx.c?rev=261548&r1=261547&r2=261548&view=diff > ============================================================================== > --- cfe/trunk/test/Sema/attr-availability-macosx.c (original) > +++ cfe/trunk/test/Sema/attr-availability-macosx.c Mon Feb 22 12:24:30 2016 > @@ -1,5 +1,9 @@ > // RUN: %clang_cc1 "-triple" "x86_64-apple-darwin9.0.0" -fsyntax-only > -verify %s > > +#if !__has_feature(attribute_availability_with_strict) > +#error "Missing __has_feature" > +#endif > + > void f0(int) > __attribute__((availability(macosx,introduced=10.4,deprecated=10.6))); > void f1(int) __attribute__((availability(macosx,introduced=10.5))); > void f2(int) > __attribute__((availability(macosx,introduced=10.4,deprecated=10.5))); // > expected-note {{'f2' has been explicitly marked deprecated here}} > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits > > _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits