diff -Naur src_a/google/protobuf/stubs/port.h src_b/google/protobuf/stubs/port.h --- a/src/google/protobuf/stubs/port.h 2017-08-24 18:17:47.149533997 -0700 +++ b/src/google/protobuf/stubs/port.h 2017-08-24 22:13:12.907241538 -0700 @@ -167,7 +167,9 @@ // is not right for you. #ifndef GOOGLE_ATTRIBUTE_ALWAYS_INLINE -#if defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER > 1700) +#define GOOGLE_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) +#elif defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) // For functions we want to force inline. // Introduced in gcc 3.1. #define GOOGLE_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((always_inline)) @@ -178,7 +180,9 @@ #endif #ifndef GOOGLE_ATTRIBUTE_NOINLINE -#if defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) +#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER > 1700) +#define GOOGLE_ATTRIBUTE_NOINLINE +#elif defined(__GNUC__) && (__GNUC__ > 3 ||(__GNUC__ == 3 && __GNUC_MINOR__ >= 1)) // For functions we want to force not inline. // Introduced in gcc 3.1. #define GOOGLE_ATTRIBUTE_NOINLINE __attribute__ ((noinline))