dcoughlin added a comment.

It's really great to see this!


================
Comment at: lib/Sema/SemaExpr.cpp:15200
@@ -15182,2 +15199,3 @@
     // platform.
-    Diag(AtLoc, diag::warn_available_using_star_case) << RParen << Platform;
+    Diag(AtLoc, diag::warn_available_using_star_case)
+        << SourceRange(AtLoc, RParen) << Platform;
----------------
In Swift we don't warn for this scenario and don't require the programmer to 
explicitly account for the current platform. The rationale behind '*' was to 
make platform bringup easier. Because new platforms are typically forked from 
existing platforms, treating '*' as the minimum deployment target on the 
current platform would typically do the "right thing" on new platforms. In 
cases where it doesn't, the user would still get a diagnostic if she tried to 
use a potentially unavailable API.

If I understand it correctly, with the behavior here anyone porting code to a 
new platform will get a warning for each `@available`. Is this what you want?


https://reviews.llvm.org/D23003



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

Reply via email to