1 //===-- Definition of type jmp_buf ----------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIBC_TYPES_JMP_BUF_H
10 #define LLVM_LIBC_TYPES_JMP_BUF_H
22 #elif defined(__riscv)
23 /* Program counter. */
25 /* Callee-saved registers. */
29 /* Callee-saved floating point registers. */
30 #if __riscv_float_abi_double
32 #elif defined(__riscv_float_abi_single)
33 #error "__jmp_buf not available for your target architecture."
35 #elif defined(__arm__)
36 // r4, r5, r6, r7, r8, r9, r10, r11, r12, lr
39 #error "__jmp_buf not available for your target architecture."
43 typedef __jmp_buf
jmp_buf[1];
45 #endif // LLVM_LIBC_TYPES_JMP_BUF_H