From e41b667da50d582ac8e38cfea4af4e78261f2ad3 Mon Sep 17 00:00:00 2001 From: Sean Lu Date: Thu, 19 Jan 2017 11:56:08 -0800 Subject: Undef TYPE_BOOL to avoid conflict with iOS. TYPE_BOOL is defined as a macro in , which gets implicitly included in almost all iOS source files. This fixes complaints like http://go/soverflow/15759559 For some context, here is how TYPE_BOOL is defined in ConditionalMacros.h #ifdef __cplusplus #define TYPE_BOOL 1 #else #define TYPE_BOOL 0 #endif --- src/google/protobuf/wire_format_lite.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/google/protobuf/wire_format_lite.h b/src/google/protobuf/wire_format_lite.h index cfd1688c..3aa66e8f 100644 --- a/src/google/protobuf/wire_format_lite.h +++ b/src/google/protobuf/wire_format_lite.h @@ -45,6 +45,16 @@ #include #include // for CodedOutputStream::Varint32Size +// Avoid conflict with iOS where #defines TYPE_BOOL. +// +// If some one needs the macro TYPE_BOOL in a file that includes this header, it's +// possible to bring it back using push/pop_macro as follows. +// +// #pragma push_macro("TYPE_BOOL") +// #include this header and/or all headers that need the macro to be undefined. +// #pragma pop_macro("TYPE_BOOL") +#undef TYPE_BOOL + namespace google { namespace protobuf { -- cgit v1.2.3