diff options
Diffstat (limited to 'src/boost/libs/config/test/abi/abi_test.hpp')
-rw-r--r-- | src/boost/libs/config/test/abi/abi_test.hpp | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/boost/libs/config/test/abi/abi_test.hpp b/src/boost/libs/config/test/abi/abi_test.hpp new file mode 100644 index 00000000..a2bec783 --- /dev/null +++ b/src/boost/libs/config/test/abi/abi_test.hpp @@ -0,0 +1,54 @@ +// (C) Copyright John Maddock 2003. +// Use, modification and distribution are subject to the +// Boost Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +// See http://www.boost.org/libs/config for the most recent version. + + +#ifndef BOOST_ABI_TEST_HPP +#define BOOST_ABI_TEST_HPP + +#include <boost/config.hpp> +#include <boost/cstdint.hpp> + +#ifdef BOOST_HAS_ABI_HEADERS +#include BOOST_ABI_PREFIX +#endif + +// +// the following class is designed to break if the ABI +// it's compiled with does not match that of the client +// calling it.... +// + +struct empty{}; + +class abi_test : protected empty +{ +private: + empty e; + char c; + boost::int32_t i; +public: + inline char inline_one()const + { return c; } + inline boost::int32_t inline_two()const + { return i; } + + virtual char virtual_one()const; + virtual boost::int32_t virtual_two()const; + + abi_test(); +}; + + + +#ifdef BOOST_HAS_ABI_HEADERS +#include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_ABI_TEST_HPP + + + |