[PATCH] D82823: canonicalize macOS 10.16 availability to macOS 11 while preserving uses of if @available macOS 10.16

Erik Pilkington via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 30 09:15:11 PDT 2020


erik.pilkington accepted this revision.
erik.pilkington added a comment.
This revision is now accepted and ready to land.

LGTM, after mine and Aaron's comments.



================
Comment at: clang/lib/Sema/SemaExpr.cpp:19195-19211
+    if (Spec == AvailSpecs.end())
+      return None;
+    if (Platform == "macos") {
+      return ObjCAvailabilityCheckExpr::VersionAsWritten{
+          llvm::Triple::getCanonicalVersionForOS(llvm::Triple::MacOSX,
+                                                 Spec->getVersion()),
+          Spec->getVersion()};
----------------
nit: The lambda returning an optional seems a little overkill here, e.g. seems this could just be:

```
    ObjCAvailabilityCheckExpr::VersionAsWritten Version;
    if (Spec != AvailSpecs.end()) {
      if (Platform == "macos") {
        Version = ObjCAvailabilityCheckExpr::VersionAsWritten{
            llvm::Triple::getCanonicalVersionForOS(llvm::Triple::MacOSX,
                                                   Spec->getVersion()),
            Spec->getVersion()};
      } else {
        Version = ObjCAvailabilityCheckExpr::VersionAsWritten{Spec->getVersion(),
                                                       Spec->getVersion()};
      }
    }
```


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

https://reviews.llvm.org/D82823





More information about the cfe-commits mailing list