1// -*- C++ -*-
2//===----------------------------------------------------------------------===//
3//
4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5// See https://llvm.org/LICENSE.txt for license information.
6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7//
8//===----------------------------------------------------------------------===//
9
10// Ensure that unw_resume() resumes execution at the stack frame identified by
11// cursor.
12
13// TODO: Figure out why this fails with Memory Sanitizer.
14// XFAIL: msan
15
16#include <libunwind.h>
17
18__attribute__((noinline)) void test_unw_resume() {
19 unw_context_t context;
20 unw_cursor_t cursor;
21
22 unw_getcontext(&context);
23 unw_init_local(&cursor, &context);
24 unw_step(&cursor);
25 unw_resume(&cursor);
26}
27
28int main() {
29 test_unw_resume();
30 return 0;
31}
32

source code of libunwind/test/unw_resume.pass.cpp