================
@@ -102,6 +102,7 @@ static ResourceClass getResourceClass(RegisterType RT) {
     return ResourceClass::Sampler;
   case RegisterType::C:
   case RegisterType::I:
+  default:
     llvm_unreachable("unexpected RegisterType value");
   }
----------------
dpaoliello wrote:

> It sounds like line 107 will be impossible to hit.

Not impossible: someone can always cast an arbitrary value into the enum type, 
which is what MSVC is trying to guard against.

As a compromise we could keep the unreachable at the bottom, and then 
deliberately fall through to that in the unhandled cases:
```cpp
  case RegisterType::C:
  case RegisterType::I:
    // Deliberately falling through to the unreachable below.
    break;
  }
  llvm_unreachable("unexpected RegisterType value");
}
```

https://github.com/llvm/llvm-project/pull/112767
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to