mirror of
https://github.com/boostorg/mpl.git
synced 2025-08-03 23:04:33 +02:00
Condition macro workarounds on _MSC_EXTENSIONS instead of _MSC_VER. Fixes #84.
This commit is contained in:
@@ -28,26 +28,22 @@
|
|||||||
// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)'
|
// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(and)'
|
||||||
// has to be checked in a separate condition, otherwise GCC complains
|
// has to be checked in a separate condition, otherwise GCC complains
|
||||||
// about 'and' being an alternative token
|
// about 'and' being an alternative token
|
||||||
#if defined(_MSC_VER) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
#if defined(and)
|
||||||
#if defined(and)
|
|
||||||
# pragma push_macro("and")
|
# pragma push_macro("and")
|
||||||
# undef and
|
# undef and
|
||||||
# define and(x)
|
# define and(x)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
# define BOOST_MPL_PREPROCESSED_HEADER and.hpp
|
# define BOOST_MPL_PREPROCESSED_HEADER and.hpp
|
||||||
# include <boost/mpl/aux_/include_preprocessed.hpp>
|
# include <boost/mpl/aux_/include_preprocessed.hpp>
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
#if defined(and)
|
||||||
#if defined(and)
|
|
||||||
# pragma pop_macro("and")
|
# pragma pop_macro("and")
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@@ -19,27 +19,23 @@
|
|||||||
// macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)'
|
// macros, see http://tinyurl.com/ycwdxco; 'defined(bitand)'
|
||||||
// has to be checked in a separate condition, otherwise GCC complains
|
// has to be checked in a separate condition, otherwise GCC complains
|
||||||
// about 'bitand' being an alternative token
|
// about 'bitand' being an alternative token
|
||||||
#if defined(_MSC_VER) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(bitand)
|
#if defined(bitand)
|
||||||
# pragma push_macro("bitand")
|
# pragma push_macro("bitand")
|
||||||
# undef bitand
|
# undef bitand
|
||||||
# define bitand(x)
|
# define bitand(x)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#define AUX778076_OP_NAME bitand_
|
#define AUX778076_OP_NAME bitand_
|
||||||
#define AUX778076_OP_PREFIX bitand
|
#define AUX778076_OP_PREFIX bitand
|
||||||
#define AUX778076_OP_TOKEN &
|
#define AUX778076_OP_TOKEN &
|
||||||
#include <boost/mpl/aux_/arithmetic_op.hpp>
|
#include <boost/mpl/aux_/arithmetic_op.hpp>
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(bitand)
|
#if defined(bitand)
|
||||||
# pragma pop_macro("bitand")
|
# pragma pop_macro("bitand")
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // BOOST_MPL_BITAND_HPP_INCLUDED
|
#endif // BOOST_MPL_BITAND_HPP_INCLUDED
|
||||||
|
@@ -19,27 +19,23 @@
|
|||||||
// macros, see http://tinyurl.com/ycwdxco; 'defined(bitor)'
|
// macros, see http://tinyurl.com/ycwdxco; 'defined(bitor)'
|
||||||
// has to be checked in a separate condition, otherwise GCC complains
|
// has to be checked in a separate condition, otherwise GCC complains
|
||||||
// about 'bitor' being an alternative token
|
// about 'bitor' being an alternative token
|
||||||
#if defined(_MSC_VER) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(bitor)
|
#if defined(bitor)
|
||||||
# pragma push_macro("bitor")
|
# pragma push_macro("bitor")
|
||||||
# undef bitor
|
# undef bitor
|
||||||
# define bitor(x)
|
# define bitor(x)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#define AUX778076_OP_NAME bitor_
|
#define AUX778076_OP_NAME bitor_
|
||||||
#define AUX778076_OP_PREFIX bitor
|
#define AUX778076_OP_PREFIX bitor
|
||||||
#define AUX778076_OP_TOKEN |
|
#define AUX778076_OP_TOKEN |
|
||||||
#include <boost/mpl/aux_/arithmetic_op.hpp>
|
#include <boost/mpl/aux_/arithmetic_op.hpp>
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(bitor)
|
#if defined(bitor)
|
||||||
# pragma pop_macro("bitor")
|
# pragma pop_macro("bitor")
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // BOOST_MPL_BITOR_HPP_INCLUDED
|
#endif // BOOST_MPL_BITOR_HPP_INCLUDED
|
||||||
|
@@ -29,26 +29,22 @@
|
|||||||
// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'
|
// 'or' and 'and' macros, see http://tinyurl.com/3et69; 'defined(or)'
|
||||||
// has to be checked in a separate condition, otherwise GCC complains
|
// has to be checked in a separate condition, otherwise GCC complains
|
||||||
// about 'or' being an alternative token
|
// about 'or' being an alternative token
|
||||||
#if defined(_MSC_VER)&& !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(or)
|
#if defined(or)
|
||||||
# pragma push_macro("or")
|
# pragma push_macro("or")
|
||||||
# undef or
|
# undef or
|
||||||
# define or(x)
|
# define or(x)
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
# define BOOST_MPL_PREPROCESSED_HEADER or.hpp
|
# define BOOST_MPL_PREPROCESSED_HEADER or.hpp
|
||||||
# include <boost/mpl/aux_/include_preprocessed.hpp>
|
# include <boost/mpl/aux_/include_preprocessed.hpp>
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__) && !defined(__cplusplus)
|
#if defined(_MSC_EXTENSIONS)
|
||||||
#ifndef __GCCXML__
|
|
||||||
#if defined(or)
|
#if defined(or)
|
||||||
# pragma pop_macro("or")
|
# pragma pop_macro("or")
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user