Index: and.hpp =================================================================== --- and.hpp (revision 86338) +++ and.hpp (working copy) @@ -29,7 +29,7 @@ // has to be checked in a separate condition, otherwise GCC complains // about 'and' being an alternative token #if defined(_MSC_VER) -#ifndef __GCCXML__ +#if !defined(__GCCXML__) && !defined(__clang__) #if defined(and) # pragma push_macro("and") # undef and @@ -42,7 +42,7 @@ # include #if defined(_MSC_VER) -#ifndef __GCCXML__ +#if !defined(__GCCXML__) && !defined(__clang__) #if defined(and) # pragma pop_macro("and") #endif Index: or.hpp =================================================================== --- or.hpp (revision 86338) +++ or.hpp (working copy) @@ -30,7 +30,7 @@ // has to be checked in a separate condition, otherwise GCC complains // about 'or' being an alternative token #if defined(_MSC_VER) -#ifndef __GCCXML__ +#if !defined(__GCCXML__) && !defined(__clang__) #if defined(or) # pragma push_macro("or") # undef or @@ -43,7 +43,7 @@ # include #if defined(_MSC_VER) -#ifndef __GCCXML__ +#if !defined(__GCCXML__) && !defined(__clang__) #if defined(or) # pragma pop_macro("or") #endif