/**
* Function inlining
*/
-#if defined(__GNUC__)
-# define INLINE __inline__
-#elif defined(__MSC__)
-# define INLINE __inline
-#elif defined(_MSC_VER)
-# define INLINE __inline
-#elif defined(__ICL)
-# define INLINE __inline
-#elif defined(__INTEL_COMPILER)
-# define INLINE inline
-#elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
-# define INLINE __inline
-#elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
-# define INLINE inline
-# define __inline inline
-# define __inline__ inline
-#elif (__STDC_VERSION__ >= 199901L) /* C99 */
+#ifndef inline
+# ifdef __cplusplus
+ /* C++ supports inline keyword */
+# elif defined(__GNUC__)
+# define inline __inline__
+# elif defined(_MSC_VER)
+# define inline __inline
+# elif defined(__ICL)
+# define inline __inline
+# elif defined(__INTEL_COMPILER)
+ /* Intel compiler supports inline keyword */
+# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
+# define inline __inline
+# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
+ /* C99 supports inline keyword */
+# elif (__STDC_VERSION__ >= 199901L)
+ /* C99 supports inline keyword */
+# else
+# define inline
+# endif
+#endif
+#ifndef INLINE
# define INLINE inline
-#else
-# define INLINE
#endif
#endif
/* Function inlining */
-#ifndef INLINE
+#ifndef inline
# ifdef __cplusplus
-# define INLINE inline
+ /* C++ supports inline keyword */
# elif defined(__GNUC__)
-# define INLINE __inline__
+# define inline __inline__
# elif defined(_MSC_VER)
-# define INLINE __inline
+# define inline __inline
# elif defined(__ICL)
-# define INLINE __inline
+# define inline __inline
# elif defined(__INTEL_COMPILER)
-# define INLINE inline
+ /* Intel compiler supports inline keyword */
# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
-# define INLINE __inline
+# define inline __inline
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
-# define INLINE inline
-# elif (__STDC_VERSION__ >= 199901L) /* C99 */
-# define INLINE inline
+ /* C99 supports inline keyword */
+# elif (__STDC_VERSION__ >= 199901L)
+ /* C99 supports inline keyword */
# else
-# define INLINE
+# define inline
# endif
#endif
+#ifndef INLINE
+# define INLINE inline
+#endif
/* Forced function inlining */
#ifndef ALWAYS_INLINE
#define _U_COMPILER_H_
/* Function inlining */
-#ifndef INLINE
+#ifndef inline
# ifdef __cplusplus
-# define INLINE inline
+ /* C++ supports inline keyword */
# elif defined(__GNUC__)
-# define INLINE __inline__
+# define inline __inline__
# elif defined(_MSC_VER)
-# define INLINE __inline
+# define inline __inline
# elif defined(__ICL)
-# define INLINE __inline
+# define inline __inline
# elif defined(__INTEL_COMPILER)
-# define INLINE inline
+ /* Intel compiler supports inline keyword */
# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
-# define INLINE __inline
+# define inline __inline
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
-# define INLINE inline
-# elif (__STDC_VERSION__ >= 199901L) /* C99 */
-# define INLINE inline
+ /* C99 supports inline keyword */
+# elif (__STDC_VERSION__ >= 199901L)
+ /* C99 supports inline keyword */
# else
-# define INLINE
+# define inline
# endif
#endif
+#ifndef INLINE
+# define INLINE inline
+#endif
/* Function visibility */
#ifndef PUBLIC
/**
* Function inlining
*/
-#ifndef INLINE
-# if defined(__GNUC__)
-# define INLINE __inline__
-# elif defined(__MSC__)
-# define INLINE __inline
+#ifndef inline
+# ifdef __cplusplus
+ /* C++ supports inline keyword */
+# elif defined(__GNUC__)
+# define inline __inline__
# elif defined(_MSC_VER)
-# define INLINE __inline
+# define inline __inline
# elif defined(__ICL)
-# define INLINE __inline
+# define inline __inline
# elif defined(__INTEL_COMPILER)
-# define INLINE inline
+ /* Intel compiler supports inline keyword */
# elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
-# define INLINE __inline
+# define inline __inline
# elif defined(__SUNPRO_C) && defined(__C99FEATURES__)
-# define INLINE inline
-# define __inline inline
-# define __inline__ inline
-# elif (__STDC_VERSION__ >= 199901L) /* C99 */
-# define INLINE inline
+ /* C99 supports inline keyword */
+# elif (__STDC_VERSION__ >= 199901L)
+ /* C99 supports inline keyword */
# else
-# define INLINE
+# define inline
# endif
#endif
+#ifndef INLINE
+# define INLINE inline
+#endif
/**