libcopp 2.3.1
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
tail_ontop_ppc32_sysv.cpp
Go to the documentation of this file.
1
2// Copyright Oliver Kowalke 2009.
3// Distributed under the Boost Software License, Version 1.0.
4// (See accompanying file LICENSE_1_0.txt or copy at
5// http://www.boost.org/LICENSE_1_0.txt)
6
8
9using copp::fcontext_t;
10using copp::transfer_t;
11
12// This C++ tail of ontop_fcontext() allocates transfer_t{ from, vp }
13// on the stack. If fn() throws a C++ exception, then the C++ runtime
14// must remove this tail's stack frame.
15extern "C" transfer_t ontop_fcontext_tail(int ignore, void* vp, transfer_t (*fn)(transfer_t), fcontext_t const from) {
16 return fn(transfer_t{from, vp});
17}
transfer_t ontop_fcontext_tail(int ignore, void *vp, transfer_t(*fn)(transfer_t), fcontext_t const from)