Remove #define inline from Harfbuzz-NG
authorThiago Macieira <thiago.macieira@intel.com>
Mon, 9 Feb 2015 20:37:12 +0000 (12:37 -0800)
committerThiago Macieira <thiago.macieira@intel.com>
Tue, 10 Feb 2015 03:21:02 +0000 (03:21 +0000)
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.

Change-Id: Ic2a0a03a0af47386e34bb698454a2040ef3f6a9d
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
src/3rdparty/harfbuzz-ng/src/hb-private.hh

index 3f70d74c26c6fef3083d5c6aeb443b65b038351e..3a4cf611f0efbe726dc8ac0abe6a4e48379d15c0 100644 (file)
 #define snprintf _snprintf
 #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)