From 711fccf8317b4fb7adc21c00fc1e20823c5d875f Mon Sep 17 00:00:00 2001 From: Peter Levine Date: Tue, 4 Jun 2019 01:07:18 -0400 Subject: [PATCH] Don't allow signed/unsigned wchar_t in gcc 9 and later --- googlemock/include/gmock/internal/gmock-internal-utils.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/googlemock/include/gmock/internal/gmock-internal-utils.h b/googlemock/include/gmock/internal/gmock-internal-utils.h index 093b4653..01e96cfe 100644 --- a/googlemock/include/gmock/internal/gmock-internal-utils.h +++ b/googlemock/include/gmock/internal/gmock-internal-utils.h @@ -115,8 +115,11 @@ inline Element* GetRawPointer(Element* p) { return p; } // // To gcc, // wchar_t == signed wchar_t != unsigned wchar_t == unsigned int +// +// gcc-9 appears to treat signed/unsigned wchar_t as ill-formed +// regardless of the signage of its underlying type. #ifdef __GNUC__ -#if !defined(__WCHAR_UNSIGNED__) +#if !defined(__WCHAR_UNSIGNED__) && (__GNUC__ < 9) // signed/unsigned wchar_t are valid types. # define GMOCK_HAS_SIGNED_WCHAR_T_ 1 #endif