<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56867>56867</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [ORC] 15.0.0-rc1 building error with Android clang toolchain
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          maurossi
      </td>
    </tr>
</table>

<pre>
    When building libLLVM 15.0.0-rc1 I am getting the following building error in libLLVMOrcJIT

```
external/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp:223:7: error: too many arguments provided to function-like ma
cro invocation
      llvm_unreachable("Invalid opcode");
      ^
external/llvm-project/llvm/include/llvm/Support/ErrorHandling.h:150:50: note: expanded from macro 'llvm_unreachable'
#define llvm_unreachable(msg) LLVM_BUILTIN_TRAP, LLVM_BUILTIN_UNREACHABLE
                                                 ^
external/llvm-project/llvm/include/llvm/Support/Compiler.h:324:35: note: expanded from macro 'LLVM_BUILTIN_UNREACHABLE'
# define LLVM_BUILTIN_UNREACHABLE __builtin_unreachable()
                                  ^
external/llvm-project/llvm/include/llvm/Support/Debug.h:72:9: note: macro 'DEBUG_WITH_TYPE' defined here
#define DEBUG_WITH_TYPE(TYPE, X) do { } while (false)
        ^
external/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp:207:3: note: cannot use initializer list at the beginning of 
a macro argument
  LLVM_DEBUG({
  ^
external/llvm-project/llvm/include/llvm/Support/Debug.h:101:23: note: expanded from macro 'LLVM_DEBUG'
#define LLVM_DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X)
                      ^
external/llvm-project/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp:207:3: error: use of undeclared identifier 'DEBUG_WITH_TYPE'
  LLVM_DEBUG({
  ^
external/llvm-project/llvm/include/llvm/Support/Debug.h:101:23: note: expanded from macro 'LLVM_DEBUG'
#define LLVM_DEBUG(X) DEBUG_WITH_TYPE(DEBUG_TYPE, X)
                      ^
2 errors generated.
```

Considering that a similar `LLVM_DEBUG({ ... });` macro expansion at line [106] is building without errors
I have tried the following diff change and I can build.

```
diff --git a/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp b/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
index 47364a92a451..c68372db53d1 100644
--- a/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
@@ -219,8 +219,6 @@ Error SimpleRemoteEPC::sendMessage(SimpleRemoteEPCOpcode OpC, uint64_t SeqNo,
     case SimpleRemoteEPCOpcode::CallWrapper:
       dbgs() << "CallWrapper";
       break;
-    default:
-      llvm_unreachable("Invalid opcode");
     }
     dbgs() << ", seqno = " << SeqNo
            << ", tag-addr = " << formatv("{0:x}", TagAddr.getValue())

```

Could you please add this issue to LLVM 15.0.0 Release Milestone? 
Could you please check if my proposal to remove `default: `case is acceptable? 
In any case I am available to perform Android build tests with any proposed patch

[106] https://github.com/llvm/llvm-project/blob/release/15.x/llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp#L106
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJztV1tzmzgU_jX4RWMGBBj7wQ-242y8kzadNG13nzwCBGgjJCoJN-mv3yNhO76knbTJ7NNmiAzS0eH7zk2HTBaP0y81FSjrGC-YqBBn2fX153coTPzAD4YqD9EKkQZV1Bi7bmqKSsm5_Gaf9tuoUlIhJnb7b1T-5-rOCy68YLYdR8H2co_0wVAlCPfwJeebZtgq-Q_NzfbR_rAMxuUDzTvDpFiKigkKM6AZxo-saTm9pY00dPlh4edt60UzjCMYU_jvAdkbIyVqiHhERFVdQ4XRCN61YQUtYA2Vncit_iFn9xQEe3S5kkBmI3Ni1_o55P4sunUnFCV5TTIOiMYexiuxIZwVSLa5LGAOe3jiRfPDjV6yfCFzJnLeWS27iY9d20plJZaW1RURBQej-zXwC5MARjcgAcZw3B9aEAF-pZINcLJsPJyeQ0-3rsFRQUsw73PsGl0BGWSdup5_Wl3frd6v725nHzy8OJ789P52OVtczebXy0Pev_D3JiZayKZlnCpnnQjHdkxeYJ0fcjmwEtqa6UeyaL22GQGJchYik5fa5E2McEGzro-PFMMwOeS_Z3yxnH_6Y_1ldXe1vvv7gyW65Vegmip6Ghtn4uP-Z4H-sgFSgM50Dv8X6FsNDoA3jEvCNT3j_nKGv1UDApv_0SHjnAi4RZ2mkNTMMEjV71RBqdIGEeNKWkZBtbCVTJaoR0e2ltrVjR0J53xnDOvYdJ_kb-y4MAgtm-ilobtFdJbSR3Cdp84d2c8cuvNn0fqf-W9fw63nwC8dcM85UWAAKN_CsJKBG5-N5P-ddeos3JtTw0kuqCKGFv6zB3M_LqTQYGPVH_mQJARp1jAwPgLJU6si3_dt5m9PvVGwpetMoMHzNs24Jegl8zAYeckFYvqpe_jGTC07s0XYI1ihmmwoMorZg_qo6yhYWSKoraKiCEwMDQpkeK_NPyRxwsxtGw4rBmxeEaMoe02AOyQM4uIBxWk0iskEkzgJfT8fjaMUF1kSFSEKg2AUx73wcDh8Fd5djM376w3ge3EAFxricAIhOIaonve3I7Rdcn0KOlEASQGXpqJ4R7UmlT0YT0RuXP-EbtqFje2OCTOK1wZ9pF_fS5g5CPScQE14dnf_mgXh_IsibUttBTnKkCKrdH8mIy8CVAsggA_loX077t1QBof5_X5y6LTQknTc7JUPe8nf7Q9t9jw9PQvRmkTTrwLKSHRhJ3ZrvXnOisDxTkOqISkKdbq5lKohZtPjhFy2neSDy2W37Y5UM9jlQ___mfBu18zsis5PS0jHC_QoOwQ-st6Ct0MiQ94zrTtqm--DLw10S3upd9A7aCMhDqNL9ANNeU3ze8RK1DzaZr6VmnCrT0EkQM0AIE_esU8uWODFJM9pa5xb9spXUJzg68CJuC8dsiFQ50DGaoRwsAZCM1EoCQ50RQYZQKhd1XJ7ewhQplpi8vrIMPtyVxvTahss-BIuqEF1l_m5bA6S8fj4ybi0yal6s8Ad2OnhNamLo2vAMqDTcJRMokmUhsmgmEYF3JOBYYbTKcC9uV1YuAeffyffeI71zhxwGtsDQkoO0c7EoFN8-stMXThAuF8mo_EoHdTToqCTcUDpOMSTJMqi0aRIszAPcxKTnITRANxDubZwAeuATXGAcTAOQozjMMF-QeM4j2gQl2kUxEkKFYk24FTfvtiXqhqoqcMAx7eGRdsI6qdFojWrBKU7_aSD00lNG9IpCUsDh3fqwP4LoWSZ9g">