Mercurial > hg > vamp-build-and-test
annotate DEPENDENCIES/generic/include/boost/context/detail/fcontext_sparc.hpp @ 133:4acb5d8d80b6 tip
Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author | Chris Cannam |
---|---|
date | Tue, 30 Jul 2019 12:25:44 +0100 |
parents | 2665513ce2d3 |
children |
rev | line source |
---|---|
Chris@16 | 1 // Copyright Martin Husemann 2012 |
Chris@16 | 2 // Distributed under the Boost Software License, Version 1.0. |
Chris@16 | 3 // (See accompanying file LICENSE_1_0.txt or copy at |
Chris@16 | 4 // http://www.boost.org/LICENSE_1_0.txt) |
Chris@16 | 5 |
Chris@16 | 6 #ifndef BOOST_CTX_DETAIL_FCONTEXT_SPARC_H |
Chris@16 | 7 #define BOOST_CTX_DETAIL_FCONTEXT_SPARC_H |
Chris@16 | 8 |
Chris@16 | 9 #include <cstddef> |
Chris@16 | 10 |
Chris@16 | 11 #include <boost/config.hpp> |
Chris@16 | 12 #include <boost/cstdint.hpp> |
Chris@16 | 13 |
Chris@16 | 14 #include <boost/context/detail/config.hpp> |
Chris@16 | 15 |
Chris@16 | 16 #ifdef BOOST_HAS_ABI_HEADERS |
Chris@16 | 17 # include BOOST_ABI_PREFIX |
Chris@16 | 18 #endif |
Chris@16 | 19 |
Chris@16 | 20 namespace boost { |
Chris@16 | 21 namespace context { |
Chris@16 | 22 |
Chris@16 | 23 extern "C" { |
Chris@16 | 24 |
Chris@16 | 25 #define BOOST_CONTEXT_CALLDECL |
Chris@16 | 26 |
Chris@16 | 27 // if defined(_LP64) we are compiling for sparc64, otherwise it is 32 bit |
Chris@16 | 28 // sparc. |
Chris@16 | 29 |
Chris@16 | 30 |
Chris@16 | 31 struct stack_t |
Chris@16 | 32 { |
Chris@16 | 33 void * sp; |
Chris@16 | 34 std::size_t size; |
Chris@16 | 35 |
Chris@16 | 36 stack_t() : |
Chris@16 | 37 sp( 0), size( 0) |
Chris@16 | 38 {} |
Chris@16 | 39 }; |
Chris@16 | 40 |
Chris@16 | 41 struct fp_t |
Chris@16 | 42 { |
Chris@16 | 43 #ifdef _LP64 |
Chris@16 | 44 boost::uint64_t fp_freg[32]; |
Chris@16 | 45 boost::uint64_t fp_fprs, fp_fsr; |
Chris@16 | 46 #else |
Chris@16 | 47 boost::uint64_t fp_freg[16]; |
Chris@16 | 48 boost::uint32_t fp_fsr; |
Chris@16 | 49 #endif |
Chris@16 | 50 |
Chris@16 | 51 fp_t() : |
Chris@16 | 52 fp_freg(), |
Chris@16 | 53 #ifdef _LP64 |
Chris@16 | 54 fp_fprs(), |
Chris@16 | 55 #endif |
Chris@16 | 56 fp_fsr() |
Chris@16 | 57 {} |
Chris@16 | 58 } |
Chris@16 | 59 #ifdef _LP64 |
Chris@16 | 60 __attribute__((__aligned__(64))) // allow VIS instructions to be used |
Chris@16 | 61 #endif |
Chris@16 | 62 ; |
Chris@16 | 63 |
Chris@16 | 64 struct fcontext_t |
Chris@16 | 65 { |
Chris@16 | 66 fp_t fc_fp; // fpu stuff first, for easier alignement |
Chris@16 | 67 #ifdef _LP64 |
Chris@16 | 68 boost::uint64_t |
Chris@16 | 69 #else |
Chris@16 | 70 boost::uint32_t |
Chris@16 | 71 #endif |
Chris@16 | 72 fc_greg[8]; |
Chris@16 | 73 stack_t fc_stack; |
Chris@16 | 74 |
Chris@16 | 75 fcontext_t() : |
Chris@16 | 76 fc_fp(), |
Chris@16 | 77 fc_greg(), |
Chris@16 | 78 fc_stack() |
Chris@16 | 79 {} |
Chris@16 | 80 }; |
Chris@16 | 81 |
Chris@16 | 82 } |
Chris@16 | 83 |
Chris@16 | 84 }} |
Chris@16 | 85 |
Chris@16 | 86 #ifdef BOOST_HAS_ABI_HEADERS |
Chris@16 | 87 # include BOOST_ABI_SUFFIX |
Chris@16 | 88 #endif |
Chris@16 | 89 |
Chris@16 | 90 #endif // BOOST_CTX_DETAIL_FCONTEXT_SPARC_H |