Merge "Add Google-style StringPrintf."
diff --git a/include/utils/Compat.h b/include/utils/Compat.h
index 0df40a1..a238afe 100644
--- a/include/utils/Compat.h
+++ b/include/utils/Compat.h
@@ -35,6 +35,12 @@
 
 #endif /* __APPLE__ */
 
+#if defined(_WIN32)
+#define O_CLOEXEC 0
+#define O_NOFOLLOW 0
+#define DEFFILEMODE 0666
+#endif /* _WIN32 */
+
 #if HAVE_PRINTF_ZD
 #  define ZD "%zd"
 #  define ZD_TYPE ssize_t
diff --git a/init/property_service.h b/init/property_service.h
index 730495e..ff8b063 100644
--- a/init/property_service.h
+++ b/init/property_service.h
@@ -32,13 +32,19 @@
 extern int properties_inited();
 int get_property_set_fd(void);
 
+#ifndef __clang__
 extern void __property_get_size_error()
     __attribute__((__error__("property_get called with too small buffer")));
+#else
+extern void __property_get_size_error();
+#endif
 
 static inline
 __attribute__ ((always_inline))
 __attribute__ ((gnu_inline))
+#ifndef __clang__
 __attribute__ ((artificial))
+#endif
 int property_get(const char *name, char *value)
 {
     size_t value_len = __builtin_object_size(value, 0);