[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