]> granicus.if.org Git - clang/commitdiff
Fix an ambiguous overload issue pointed out by MSVC
authorVedant Kumar <vsk@apple.com>
Tue, 26 Jun 2018 03:53:06 +0000 (03:53 +0000)
committerVedant Kumar <vsk@apple.com>
Tue, 26 Jun 2018 03:53:06 +0000 (03:53 +0000)
Log:
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/11390

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@335577 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/Specifiers.h
lib/Sema/SemaLambda.cpp

index c5edb5ea968c24f9060812285ad7b9f2421508c0..303b77e448053d4f718600be0ddcc4aa458d662a 100644 (file)
@@ -296,7 +296,7 @@ namespace clang {
 
   /// Return true if \p L has a weaker nullability annotation than \p R. The
   /// ordering is: Unspecified < Nullable < NonNull.
-  inline bool operator<(NullabilityKind L, NullabilityKind R) {
+  inline bool hasWeakerNullability(NullabilityKind L, NullabilityKind R) {
     return uint8_t(L) > uint8_t(R);
   }
 
index 98b428b08999a8fd19181a7f1c57f6cd1a6a3f4e..fcacc2a17c9c2c4a8fc9295623351b4edf59e66a 100644 (file)
@@ -712,7 +712,8 @@ void Sema::deduceClosureReturnType(CapturingScopeInfo &CSI) {
       auto RetTyNullability = ReturnType->getNullability(Ctx);
       auto BlockNullability = CSI.ReturnType->getNullability(Ctx);
       if (BlockNullability &&
-          (!RetTyNullability || *RetTyNullability < *BlockNullability))
+          (!RetTyNullability ||
+           hasWeakerNullability(*RetTyNullability, *BlockNullability)))
         CSI.ReturnType = ReturnType;
       continue;
     }