diff options
-rw-r--r-- | src/mongo/bson/mutable/document.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mongo/bson/mutable/document.cpp b/src/mongo/bson/mutable/document.cpp index ae24667a186..76935d00d11 100644 --- a/src/mongo/bson/mutable/document.cpp +++ b/src/mongo/bson/mutable/document.cpp @@ -387,8 +387,9 @@ namespace mutablebson { // Work around http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29365. Note that the selection of // minor version 4 is somewhat arbitrary. It does appear that the fix for this was backported -// to earlier versions. This is a conservative choice that we can revisit later. -#if !defined(__GNUC__) || (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +// to earlier versions. This is a conservative choice that we can revisit later. We need the +// __clang__ here because Clang claims to be gcc of some version. +#if defined(__clang__) || !defined(__GNUC__) || (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) namespace { #endif @@ -536,7 +537,7 @@ namespace mutablebson { return Status(ErrorCodes::IllegalOperation, "cannot add the root as a child"); } -#if !defined(__GNUC__) || (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +#if defined(__clang__) || !defined(__GNUC__) || (__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) } // namespace #endif |