dexonsmith added a subscriber: aaron.ballman.
dexonsmith added a comment.

Thanks for splitting this out! It mostly looks good, just a few things inline.



================
Comment at: clang/lib/Basic/DarwinSDKInfo.cpp:27-28
+    return KV->getSecond();
+  // If no exact entry found, try just the major key version.
+  if (Key.getMinor())
+    return map(VersionTuple(Key.getMajor()), MinimumValue, MaximumValue);
----------------
Your answer (https://reviews.llvm.org/D105257#inline-1007563) to 
@aaron.ballman's comment in the original patch was informative: this check is 
to avoid infinite recursion. That wasn't obvious to me either though. Might you 
add something to the comment for the benefit of other readers?


================
Comment at: clang/lib/Basic/DarwinSDKInfo.cpp:116
   if (const auto *Obj = Result->getAsObject()) {
+    // FIXME: Switch to use parseDarwinSDKSettingsJSON in the next commit.
     auto VersionString = Obj->getString("Version");
----------------
Nit: I'd suggest skipping the "in the next commit" part.

Instead, I'd suggest documenting in the commit message why this wasn't done 
here:
- This patch adds/tests new low-level functionality.
- Future commit will adopt it in `parseDarwinSDKInfo` and actually change the 
driver/frontend/whatever.


================
Comment at: clang/unittests/Basic/DarwinSDKinfoTest.cpp:35-49
+  EXPECT_EQ(*Mapping->map(VersionTuple(10, 15), VersionTuple(), None),
+            VersionTuple(13, 1));
+  EXPECT_EQ(*Mapping->map(VersionTuple(11, 0), VersionTuple(), None),
+            VersionTuple(14, 0));
+  EXPECT_EQ(*Mapping->map(VersionTuple(11, 2), VersionTuple(), None),
+            VersionTuple(14, 2));
+
----------------
Can you add a couple of comments saying what the EXPECTs are testing? (Maybe 
not each one individually, but at least groups by what they're testing (maybe 
exists, fallback to major, infinite loop, big minimum value, etc., but in full 
sentences)).

Should there be a test that passes both minimum and maximum values?


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

https://reviews.llvm.org/D105958

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

Reply via email to