diff --git a/include/cutils/properties.h b/include/cutils/properties.h
index f1461f2..5ec8c2c 100644
--- a/include/cutils/properties.h
+++ b/include/cutils/properties.h
@@ -17,6 +17,7 @@
 #ifndef __CUTILS_PROPERTIES_H
 #define __CUTILS_PROPERTIES_H
 
+#include <sys/cdefs.h>
 #include <stddef.h>
 
 #ifdef __cplusplus
@@ -64,17 +65,14 @@
 };
 #endif /*HAVE_SYSTEM_PROPERTY_SERVER*/
 
-#if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 && !defined(__MINGW32__) && !defined(__clang__)
+#ifdef __BIONIC_FORTIFY_INLINE
 
 extern int __property_get_real(const char *, char *, const char *)
     __asm__(__USER_LABEL_PREFIX__ "property_get");
 extern void __property_get_too_small_error()
     __attribute__((__error__("property_get() called with too small of a buffer")));
 
-extern inline
-__attribute__ ((always_inline))
-__attribute__ ((gnu_inline))
-__attribute__ ((artificial))
+__BIONIC_FORTIFY_INLINE
 int property_get(const char *key, char *value, const char *default_value) {
     size_t bos = __builtin_object_size(value, 0);
     if (bos < PROPERTY_VALUE_MAX) {
@@ -83,7 +81,7 @@
     return __property_get_real(key, value, default_value);
 }
 
-#endif /* defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 && !defined(__MINGW32__) && !defined(__clang__) */
+#endif /* __BIONIC_FORTIFY_INLINE */
 
 #ifdef __cplusplus
 }
