[Support] Workaround compiler bug in MSVC
authorTom Stellard <tstellar@redhat.com>
Tue, 26 Jul 2022 19:50:56 +0000 (12:50 -0700)
committerTom Stellard <tstellar@redhat.com>
Tue, 26 Jul 2022 19:55:10 +0000 (12:55 -0700)
https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317

This was causing unittest failures on Windows for the GitHub actions
based CI we use in the release branches.

Failed Tests (2):
  LLVM-Unit :: Support/./SupportTests.exe/FormatVariadicTest.BigTest
  LLVM-Unit :: Support/./SupportTests.exe/NativeFormatTest.BoundaryTests

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D129822

llvm/lib/Support/NativeFormatting.cpp

index 8a69f75..e9854d0 100644 (file)
@@ -262,5 +262,11 @@ size_t llvm::getDefaultPrecision(FloatStyle Style) {
   case FloatStyle::Percent:
     return 2; // Number of decimal places.
   }
+  // Workaround for MSVC bug in VS2022:
+  // https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317
+  // llvm_unreachable expands to __assume(false) with MSVC which triggers the
+  // bug.
+#ifndef _MSC_VER
   llvm_unreachable("Unknown FloatStyle enum");
+#endif
 }