# ifdef _USE_ATTRIBUTES_FOR_SAL
# undef _USE_ATTRIBUTES_FOR_SAL
# endif
+/* nolint */
# define _USE_ATTRIBUTES_FOR_SAL 1
# include <sal.h>
# define FOLLY_PRINTF_FORMAT _Printf_format_string_
// portable version check
#ifndef __GNUC_PREREQ
# if defined __GNUC__ && defined __GNUC_MINOR__
+/* nolint */
# define __GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= \
((maj) << 16) + (min))
# else
+/* nolint */
# define __GNUC_PREREQ(maj, min) 0
# endif
#endif
/* Platform specific TLS support
* gcc implements __thread
* msvc implements __declspec(thread)
- * the semantics are the same (but remember __thread is broken on apple)
+ * the semantics are the same
+ * (but remember __thread has different semantics when using emutls (ex. apple))
*/
#if defined(_MSC_VER)
# define FOLLY_TLS __declspec(thread)
# define strerror_r(errno,buf,len) strerror_s(buf,len,errno)
// compiler specific to compiler specific
+// nolint
# define __PRETTY_FUNCTION__ __FUNCSIG__
#endif
} // namespace gflags
#endif
+// for TARGET_OS_IPHONE
+#ifdef __APPLE__
+#include <TargetConditionals.h>
+#endif
+
#endif // FOLLY_PORTABILITY_H_