blob: 8e0cb23b957633e73077af36e8f26aca6ec08c29 [file] [edit]
// -*- C++ -*-
//===----------------------------------------------------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
// REQUIRES: target={{mips.*}}
// The o32 context is sized for 32 double-width float slots even when the FPU
// only holds 32-bit values, so that one context size covers every o32 FPU
// configuration. Registers.hpp asserts the base offset and stride that
// UnwindRegisters{Save,Restore}.S depend on; this is the outer size check.
#include "../src/config.h"
#if defined(_LIBUNWIND_TARGET_MIPS_O32) && defined(__mips_hard_float)
#include "../src/Registers.hpp"
using namespace libunwind;
static_assert(sizeof(Registers_mips_o32) == 4 * 36 + 8 * 32,
"the o32 context layout no longer matches the offsets hard-coded "
"in UnwindRegistersSave.S and UnwindRegistersRestore.S");
#endif // _LIBUNWIND_TARGET_MIPS_O32 && __mips_hard_float