|
@@ -1378,30 +1378,50 @@ int dxc::main(int argc, const char **argv_) {
|
|
|
Unicode::acp_char printBuffer[128]; // printBuffer is safe to treat as
|
|
|
// UTF-8 because we use ASCII only errors
|
|
|
if (msg == nullptr || *msg == '\0') {
|
|
|
- if (hlslException.hr == DXC_E_DUPLICATE_PART) {
|
|
|
+ switch (hlslException.hr) {
|
|
|
+ case DXC_E_DUPLICATE_PART:
|
|
|
sprintf_s(
|
|
|
printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : DXIL container already contains the given part.");
|
|
|
- } else if (hlslException.hr == DXC_E_MISSING_PART) {
|
|
|
+ break;
|
|
|
+ case DXC_E_MISSING_PART:
|
|
|
sprintf_s(
|
|
|
printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : DXIL container does not contain the given part.");
|
|
|
- } else if (hlslException.hr == DXC_E_CONTAINER_INVALID) {
|
|
|
+ break;
|
|
|
+ case DXC_E_CONTAINER_INVALID:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : Invalid DXIL container.");
|
|
|
- } else if (hlslException.hr == DXC_E_CONTAINER_MISSING_DXIL) {
|
|
|
+ break;
|
|
|
+ case DXC_E_CONTAINER_MISSING_DXIL:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : DXIL container is missing DXIL part.");
|
|
|
- } else if (hlslException.hr == DXC_E_CONTAINER_MISSING_DEBUG) {
|
|
|
+ break;
|
|
|
+ case DXC_E_CONTAINER_MISSING_DEBUG:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : DXIL container is missing Debug Info part.");
|
|
|
- } else if (hlslException.hr == E_OUTOFMEMORY) {
|
|
|
+ break;
|
|
|
+ case DXC_E_LLVM_FATAL_ERROR:
|
|
|
+ sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
+ "dxc failed : Internal Compiler Error - LLVM Fatal Error!");
|
|
|
+ break;
|
|
|
+ case DXC_E_LLVM_UNREACHABLE:
|
|
|
+ sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
+ "dxc failed : Internal Compiler Error - UNREACHABLE executed!");
|
|
|
+ break;
|
|
|
+ case DXC_E_LLVM_CAST_ERROR:
|
|
|
+ sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
+ "dxc failed : Internal Compiler Error - Cast of incompatible type!");
|
|
|
+ break;
|
|
|
+ case E_OUTOFMEMORY:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : Out of Memory.");
|
|
|
- } else if (hlslException.hr == E_INVALIDARG) {
|
|
|
+ break;
|
|
|
+ case E_INVALIDARG:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : Invalid argument.");
|
|
|
- } else {
|
|
|
+ break;
|
|
|
+ default:
|
|
|
sprintf_s(printBuffer, _countof(printBuffer),
|
|
|
"dxc failed : error code 0x%08x.\n", hlslException.hr);
|
|
|
}
|