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)
7 #ifndef BOOST_COROUTINES_STACK_CONTEXT_H
8 #define BOOST_COROUTINES_STACK_CONTEXT_H
12 #include <boost/config.hpp>
14 #include <boost/coroutine/detail/config.hpp>
16 #ifdef BOOST_HAS_ABI_HEADERS
17 # include BOOST_ABI_PREFIX
21 namespace coroutines {
23 #if defined(BOOST_USE_SEGMENTED_STACKS)
26 typedef void * segments_context[BOOST_CONTEXT_SEGMENTS];
30 segments_context segments_ctx;
31 #if defined(BOOST_USE_VALGRIND)
32 unsigned valgrind_stack_id;
36 size( 0), sp( 0), segments_ctx()
37 #if defined(BOOST_USE_VALGRIND)
38 , valgrind_stack_id( 0)
47 #if defined(BOOST_USE_VALGRIND)
48 unsigned valgrind_stack_id;
53 #if defined(BOOST_USE_VALGRIND)
54 , valgrind_stack_id( 0)
62 #ifdef BOOST_HAS_ABI_HEADERS
63 # include BOOST_ABI_SUFFIX
66 #endif // BOOST_COROUTINES_STACK_CONTEXT_H