From 9768e651be0561f07d6f38c3ed8bc5ee04882990 Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Sat, 14 Feb 2015 00:58:51 +0400 Subject: [PATCH] Fix build with MSVC on CE This code is C++ only. There isn't a single C++ compiler that fails to understand the "inline" keyword, since it's required by C++98. Any compiler older than C++98 is likely to choke on the template usage further down, so this isn't necessary. Moreover, the C++ standard says you cannot define macros. [lib.macro.names] says "Nor shall such a translation unit define macros for names lexically identical to keywords." -- technically, it's a promise that the Standard Library headers won't do it, the wording means that the entire translation unit won't do it, which implies no source can do it. MSVC complains about it: fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro. Author: Thiago Macieira --- src/hb-private.hh | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/hb-private.hh b/src/hb-private.hh index 45b7712c..cfe77f16 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -94,16 +94,6 @@ # endif #endif -#ifdef _MSC_VER -#undef inline -#define inline __inline -#endif - -#ifdef __STRICT_ANSI__ -#undef inline -#define inline __inline__ -#endif - #if __GNUC__ >= 3 #define HB_FUNC __PRETTY_FUNCTION__ #elif defined(_MSC_VER) -- GitLab