]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/dll/alias.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / dll / alias.hpp
index b8ee45ffa33584dc11aecd94b7672e6165ac45c8..46f20c8c553dc10749207cdef105cd671461ff14 100644 (file)
@@ -1,5 +1,5 @@
 // Copyright 2014 Renato Tegon Forti, Antony Polukhin.
-// Copyright 2015 Antony Polukhin.
+// Copyright 2015-2019 Antony Polukhin.
 //
 // Distributed under the Boost Software License, Version 1.0.
 // (See accompanying file LICENSE_1_0.txt
@@ -8,12 +8,16 @@
 #ifndef BOOST_DLL_ALIAS_HPP
 #define BOOST_DLL_ALIAS_HPP
 
-#include <boost/config.hpp>
+#include <boost/dll/config.hpp>
 #include <boost/static_assert.hpp>
 #include <boost/predef/compiler.h>
 #include <boost/predef/os.h>
 #include <boost/dll/detail/aggressive_ptr_cast.hpp>
 
+#if BOOST_COMP_GNUC // MSVC does not have <stdint.h> and defines it in some other header, MinGW requires that header.
+#include <stdint.h> // intptr_t
+#endif
+
 #ifdef BOOST_HAS_PRAGMA_ONCE
 # pragma once
 #endif
@@ -32,18 +36,18 @@ namespace boost { namespace dll {
 #define BOOST_DLL_FORCE_ALIAS_INSTANTIATION
 
 /// Define this macro to disable exporting weak symbols and start using the \forcedmacrolink{BOOST_DLL_FORCE_ALIAS_INSTANTIATION}.
-/// This may be usefull for working around linker problems or to test your program for compatability with linkers that do not support export of weak symbols.
+/// This may be useful for working around linker problems or to test your program for compatibility with linkers that do not support export of weak symbols.
 #define BOOST_DLL_FORCE_NO_WEAK_EXPORTS
 #endif
 
-#if BOOST_COMP_MSVC || (BOOST_COMP_INTEL && BOOST_OS_WINDOWS)
+#if BOOST_COMP_MSVC || ((BOOST_COMP_INTEL || BOOST_COMP_CLANG) && BOOST_OS_WINDOWS)
 
 #define BOOST_DLL_SELECTANY __declspec(selectany)
 
 #define BOOST_DLL_SECTION(SectionName, Permissions)                                             \
     BOOST_STATIC_ASSERT_MSG(                                                                    \
         sizeof(#SectionName) < 10,                                                              \
-        "Some platforms require section names to be at most 8 bytest"                           \
+        "Some platforms require section names to be at most 8 bytes                           \
     );                                                                                          \
     __pragma(section(#SectionName, Permissions)) __declspec(allocate(#SectionName))             \
     /**/
@@ -82,7 +86,7 @@ namespace boost { namespace dll {
 #define BOOST_DLL_SECTION(SectionName, Permissions)                                             \
     BOOST_STATIC_ASSERT_MSG(                                                                    \
         sizeof(#SectionName) < 10,                                                              \
-        "Some platforms require section names to be at most 8 bytest"                           \
+        "Some platforms require section names to be at most 8 bytes                           \
     );                                                                                          \
     __attribute__ ((section (#SectionName)))                                                    \
     /**/
@@ -91,7 +95,7 @@ namespace boost { namespace dll {
 #define BOOST_DLL_SECTION(SectionName, Permissions)                                             \
     BOOST_STATIC_ASSERT_MSG(                                                                    \
         sizeof(#SectionName) < 10,                                                              \
-        "Some platforms require section names to be at most 8 bytest"                           \
+        "Some platforms require section names to be at most 8 bytes                           \
     );                                                                                          \
     __attribute__ ((section ( "__DATA," #SectionName)))                                         \
     /**/
@@ -124,7 +128,7 @@ namespace boost { namespace dll {
 /*!
 * \brief Makes an alias name for exported function or variable.
 *
-* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::sting)`
+* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::string)`
 * function name will change to something like `N5boostN3foosE` after mangling.
 * Importing function by `N5boostN3foosE` name does not looks user friendly, especially assuming the fact
 * that different compilers have different mangling schemes. AliasName is the name that won't be mangled
@@ -213,7 +217,7 @@ namespace boost { namespace dll {
 /*!
 * \brief Exports variable or function with unmangled alias name.
 *
-* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::sting)`
+* This macro is useful in cases of long mangled C++ names. For example some `void boost::foo(std::string)`
 * function name will change to something like `N5boostN3foosE` after mangling.
 * Importing function by `N5boostN3foosE` name does not looks user friendly, especially assuming the fact
 * that different compilers have different mangling schemes.*