| ... | ... | @@ -21,6 +21,8 @@ |
| 21 | 21 | |
| 22 | 22 | #if defined(__aarch64__) || (defined(zig_msvc) && defined(_M_ARM64)) |
| 23 | 23 | #define zig_aarch64 |
| 24 | #elif defined(__alpha__) |
| 25 | #define zig_alpha |
| 24 | 26 | #elif defined(__thumb__) || (defined(zig_msvc) && defined(_M_ARM)) |
| 25 | 27 | #define zig_thumb |
| 26 | 28 | #define zig_arm |
| ... | ... | @@ -36,6 +38,10 @@ |
| 36 | 38 | #elif defined(__loongarch64) |
| 37 | 39 | #define zig_loongarch64 |
| 38 | 40 | #define zig_loongarch |
| 41 | #elif defined(__m68k__) |
| 42 | #define zig_m68k |
| 43 | #elif defined(__m88k__) |
| 44 | #define zig_m88k |
| 39 | 45 | #elif defined(__mips64) |
| 40 | 46 | #define zig_mips64 |
| 41 | 47 | #define zig_mips |
| ... | ... | @@ -79,6 +85,8 @@ |
| 79 | 85 | #elif defined(__I86__) |
| 80 | 86 | #define zig_x86_16 |
| 81 | 87 | #define zig_x86 |
| 88 | #elif defined(__xtensa__) |
| 89 | #define zig_xtensa |
| 82 | 90 | #elif defined (__ez80) |
| 83 | 91 | #define zig_ez80 |
| 84 | 92 | #define zig_z80 |
| ... | ... | @@ -390,7 +398,9 @@ |
| 390 | 398 | |
| 391 | 399 | #elif defined(zig_gnuc_asm) |
| 392 | 400 | |
| 393 | | #if defined(zig_thumb) |
| 401 | #if defined(zig_alpha) |
| 402 | #define zig_trap() __asm__ volatile("call_pal 0x000000") |
| 403 | #elif defined(zig_thumb) |
| 394 | 404 | #define zig_trap() __asm__ volatile("udf #0xfe") |
| 395 | 405 | #elif defined(zig_arm) || defined(zig_aarch64) |
| 396 | 406 | #define zig_trap() __asm__ volatile("udf #0xfdee") |
| ... | ... | @@ -398,6 +408,10 @@ |
| 398 | 408 | #define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)") |
| 399 | 409 | #elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc) |
| 400 | 410 | #define zig_trap() __asm__ volatile(".word 0x0") |
| 411 | #elif defined(zig_m68k) |
| 412 | #define zig_trap() __asm__ volatile("illegal") |
| 413 | #elif defined(zig_m88k) |
| 414 | #define zig_trap() __asm__ volatile("tb0 0, %%r0, 511") |
| 401 | 415 | #elif defined(zig_mips) |
| 402 | 416 | #define zig_trap() __asm__ volatile(".word 0x3d") |
| 403 | 417 | #elif defined(zig_or1k) |
| ... | ... | @@ -412,6 +426,8 @@ |
| 412 | 426 | #define zig_trap() __asm__ volatile("int $0x3") |
| 413 | 427 | #elif defined(zig_x86) |
| 414 | 428 | #define zig_trap() __asm__ volatile("ud2") |
| 429 | #elif defined(zig_xtensa) |
| 430 | #define zig_trap() __asm__ volatile("ill") |
| 415 | 431 | #elif defined(zig_z80) |
| 416 | 432 | #define zig_trap() __asm__ volatile("rst 00h") |
| 417 | 433 | #else |
| ... | ... | @@ -428,7 +444,9 @@ |
| 428 | 444 | #define zig_breakpoint() __debugbreak() |
| 429 | 445 | #elif defined(zig_gnuc_asm) |
| 430 | 446 | |
| 431 | | #if defined(zig_arm) |
| 447 | #if defined(zig_alpha) |
| 448 | #define zig_breakpoint() __asm__ volatile("call_pal 0x000080") |
| 449 | #elif defined(zig_arm) |
| 432 | 450 | #define zig_breakpoint() __asm__ volatile("bkpt #0x0") |
| 433 | 451 | #elif defined(zig_aarch64) |
| 434 | 452 | #define zig_breakpoint() __asm__ volatile("brk #0xf000") |
| ... | ... | @@ -436,6 +454,8 @@ |
| 436 | 454 | #define zig_breakpoint() __asm__ volatile("brkpt") |
| 437 | 455 | #elif defined(zig_kvx) || defined(zig_loongarch) |
| 438 | 456 | #define zig_breakpoint() __asm__ volatile("break 0x0") |
| 457 | #elif defined(zig_m88k) |
| 458 | #define zig_breakpoint() __asm__ volatile("illop1") |
| 439 | 459 | #elif defined(zig_mips) |
| 440 | 460 | #define zig_breakpoint() __asm__ volatile("break") |
| 441 | 461 | #elif defined(zig_or1k) |
| ... | ... | @@ -450,6 +470,8 @@ |
| 450 | 470 | #define zig_breakpoint() __asm__ volatile("ta 0x1") |
| 451 | 471 | #elif defined(zig_x86) |
| 452 | 472 | #define zig_breakpoint() __asm__ volatile("int $0x3") |
| 473 | #elif defined(zig_xtensa) |
| 474 | #define zig_breakpoint() __asm__ volatile("break 1, 1") |
| 453 | 475 | #else |
| 454 | 476 | #define zig_breakpoint() zig_breakpoint_unavailable |
| 455 | 477 | #endif |