1 // (C) Copyright John Maddock 2003. 2 // Use, modification and distribution are subject to the 3 // Boost Software License, Version 1.0. (See accompanying file 4 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 5 6 // See http://www.boost.org/libs/config for the most recent version. 7 8 9 #ifndef BOOST_ABI_TEST_HPP 10 #define BOOST_ABI_TEST_HPP 11 12 #include <boost/config.hpp> 13 #include <boost/cstdint.hpp> 14 15 #ifdef BOOST_HAS_ABI_HEADERS 16 #include BOOST_ABI_PREFIX 17 #endif 18 19 // 20 // the following class is designed to break if the ABI 21 // it's compiled with does not match that of the client 22 // calling it.... 23 // 24 25 struct empty{}; 26 27 class abi_test : protected empty 28 { 29 private: 30 empty e; 31 char c; 32 boost::int32_t i; 33 public: inline_one() const34 inline char inline_one()const 35 { return c; } inline_two() const36 inline boost::int32_t inline_two()const 37 { return i; } 38 39 virtual char virtual_one()const; 40 virtual boost::int32_t virtual_two()const; 41 42 abi_test(); 43 }; 44 45 46 47 #ifdef BOOST_HAS_ABI_HEADERS 48 #include BOOST_ABI_SUFFIX 49 #endif 50 51 #endif // BOOST_ABI_TEST_HPP 52 53 54 55