1 //  Copyright John Maddock 2008.
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 #include <cstddef> // See https://gcc.gnu.org/gcc-4.9/porting_to.html
7 #include <gmp.h>
8 #include <boost/config.hpp>
9 
10 #ifdef __GNUC__
11 #pragma message "__GNU_MP_VERSION=" BOOST_STRINGIZE(__GNU_MP_VERSION)
12 #pragma message "__GNU_MP_VERSION_MINOR=" BOOST_STRINGIZE(__GNU_MP_VERSION_MINOR)
13 #endif
14 
15 #if (__GNU_MP_VERSION < 4) || ((__GNU_MP_VERSION == 4) && (__GNU_MP_VERSION_MINOR < 2))
16 #error "Incompatible GMP version"
17 #endif
18 
main()19 int main()
20 {
21    void* (*alloc_func_ptr)(size_t);
22    void* (*realloc_func_ptr)(void*, size_t, size_t);
23    void (*free_func_ptr)(void*, size_t);
24 
25    mp_get_memory_functions(&alloc_func_ptr, &realloc_func_ptr, &free_func_ptr);
26 
27    mpz_t integ;
28    mpz_init(integ);
29    if (integ[0]._mp_d)
30       mpz_clear(integ);
31 
32    return 0;
33 }
34