Fix macroization of inline in C++

When compiling as C++, MSVC complains about our macroization of a keyword.
Stop doing that as we know inline is always available in C++
diff --git a/ChangeLog b/ChangeLog
index 5a8f63c..8dac7a4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
 Bugfix
    * Fix compile error in net.c with musl libc. Found and patch provided by
      zhasha (#278).
+   * Fix macroization of 'inline' keywork when building as C++. (#279)
 
 = mbed TLS 1.3.13 released 2015-09-17
 
diff --git a/include/polarssl/cipher.h b/include/polarssl/cipher.h
index 00c42c1..f4be4ab 100644
--- a/include/polarssl/cipher.h
+++ b/include/polarssl/cipher.h
@@ -47,10 +47,8 @@
 #define POLARSSL_CIPHER_MODE_STREAM
 #endif
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
 #endif /* __ARMCC_VERSION */
 #endif /*_MSC_VER */
diff --git a/include/polarssl/compat-1.2.h b/include/polarssl/compat-1.2.h
index d694015..37df541 100644
--- a/include/polarssl/compat-1.2.h
+++ b/include/polarssl/compat-1.2.h
@@ -41,13 +41,10 @@
 // Comment out to disable prototype change warnings
 #define SHOW_PROTOTYPE_CHANGE_WARNINGS
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
-#endif /* __ARMCC_VERSION */
-#endif /* _MSC_VER */
+#endif
 
 #if defined(_MSC_VER)
 // MSVC does not support #warning
diff --git a/include/polarssl/md.h b/include/polarssl/md.h
index 303aee8..fc7482a 100644
--- a/include/polarssl/md.h
+++ b/include/polarssl/md.h
@@ -28,13 +28,10 @@
 
 #include <stddef.h>
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
-#endif /* __ARMCC_VERSION */
-#endif /*_MSC_VER */
+#endif
 
 #define POLARSSL_ERR_MD_FEATURE_UNAVAILABLE                -0x5080  /**< The selected feature is not available. */
 #define POLARSSL_ERR_MD_BAD_INPUT_DATA                     -0x5100  /**< Bad input parameters to function. */
diff --git a/include/polarssl/pkcs11.h b/include/polarssl/pkcs11.h
index 18c3370..80be23f 100644
--- a/include/polarssl/pkcs11.h
+++ b/include/polarssl/pkcs11.h
@@ -38,10 +38,8 @@
 
 #include <pkcs11-helper-1.0/pkcs11h-certificate.h>
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
 #endif /* __ARMCC_VERSION */
 #endif /*_MSC_VER */
diff --git a/include/polarssl/ssl.h b/include/polarssl/ssl.h
index 1f9f8be..3b67d38 100644
--- a/include/polarssl/ssl.h
+++ b/include/polarssl/ssl.h
@@ -97,13 +97,10 @@
 #define POLARSSL_KEY_EXCHANGE__SOME__ECDHE_ENABLED
 #endif
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
-#endif /* __ARMCC_VERSION */
-#endif /*_MSC_VER */
+#endif
 
 /*
  * SSL Error codes
diff --git a/library/ecp.c b/library/ecp.c
index adef09e..796452b 100644
--- a/library/ecp.c
+++ b/library/ecp.c
@@ -68,13 +68,10 @@
 #define strcasecmp _stricmp
 #endif
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
-#endif /* __ARMCC_VERSION */
-#endif /*_MSC_VER */
+#endif
 
 /* Implementation that should never be optimized out by the compiler */
 static void polarssl_zeroize( void *v, size_t n ) {
diff --git a/library/ecp_curves.c b/library/ecp_curves.c
index 3786356..7d26cb5 100644
--- a/library/ecp_curves.c
+++ b/library/ecp_curves.c
@@ -32,10 +32,8 @@
 
 #include <string.h>
 
-#if defined(_MSC_VER) && !defined(inline)
-#define inline _inline
-#else
-#if defined(__ARMCC_VERSION) && !defined(inline)
+#if ( defined(__ARMCC_VERSION) || defined(_MSC_VER) ) && \
+    !defined(inline) && !defined(__cplusplus)
 #define inline __inline
 #endif /* __ARMCC_VERSION */
 #endif /*_MSC_VER */