Fuchsia: Prepare for OS_POSIX removal in base/
This cleans up multi-platform code paths selection and prepares for
the removal of OS_POSIX for the Fuchsia build.
Bug: 836416
Change-Id: I3a8e6393d0a9981aa890fb6d8c302ed8d2bdd69d
Reviewed-on: https://chromium-review.googlesource.com/1031099
Commit-Queue: Fabrice de Gans-Riberi <[email protected]>
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Nico Weber <[email protected]>
Cr-Commit-Position: refs/heads/master@{#559230}
diff --git a/base/format_macros.h b/base/format_macros.h
index 0697c6d..1279ff7 100644
--- a/base/format_macros.h
+++ b/base/format_macros.h
@@ -26,19 +26,33 @@
#include "build/build_config.h"
-#if defined(OS_POSIX) && (defined(_INTTYPES_H) || defined(_INTTYPES_H_)) && \
- !defined(PRId64)
+#if (defined(OS_POSIX) || defined(OS_FUCHSIA)) && \
+ (defined(_INTTYPES_H) || defined(_INTTYPES_H_)) && !defined(PRId64)
#error "inttypes.h has already been included before this header file, but "
#error "without __STDC_FORMAT_MACROS defined."
#endif
-#if defined(OS_POSIX) && !defined(__STDC_FORMAT_MACROS)
+#if (defined(OS_POSIX) || defined(OS_FUCHSIA)) && !defined(__STDC_FORMAT_MACROS)
#define __STDC_FORMAT_MACROS
#endif
#include <inttypes.h>
-#if defined(OS_POSIX)
+#if defined(OS_WIN)
+
+#if !defined(PRId64) || !defined(PRIu64) || !defined(PRIx64)
+#error "inttypes.h provided by win toolchain should define these."
+#endif
+
+#define WidePRId64 L"I64d"
+#define WidePRIu64 L"I64u"
+#define WidePRIx64 L"I64x"
+
+#if !defined(PRIuS)
+#define PRIuS "Iu"
+#endif
+
+#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
// GCC will concatenate wide and narrow strings correctly, so nothing needs to
// be done here.
@@ -50,6 +64,8 @@
#define PRIuS "zu"
#endif
+#endif // defined(OS_WIN)
+
// The size of NSInteger and NSUInteger varies between 32-bit and 64-bit
// architectures and Apple does not provides standard format macros and
// recommends casting. This has many drawbacks, so instead define macros
@@ -78,20 +94,4 @@
#endif
#endif // defined(OS_MACOSX)
-#else // OS_WIN
-
-#if !defined(PRId64) || !defined(PRIu64) || !defined(PRIx64)
-#error "inttypes.h provided by win toolchain should define these."
-#endif
-
-#define WidePRId64 L"I64d"
-#define WidePRIu64 L"I64u"
-#define WidePRIx64 L"I64x"
-
-#if !defined(PRIuS)
-#define PRIuS "Iu"
-#endif
-
-#endif
-
#endif // BASE_FORMAT_MACROS_H_