Consolidate C-only section in fx_system.h.

-- move FXSYS_UINT32_GET_MSBFIRST() et al. to the C++ section since
   it uses static_cast<>.

Change-Id: I83e4416e601bfb024324dafb8579fdc6d56bc1b6
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/86973
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h
index beb1d7e..b0d4ccf 100644
--- a/core/fxcrt/fx_system.h
+++ b/core/fxcrt/fx_system.h
@@ -51,37 +51,6 @@
 #define FXSYS_sprintf DO_NOT_USE_SPRINTF_DIE_DIE_DIE
 #define FXSYS_vsprintf DO_NOT_USE_VSPRINTF_DIE_DIE_DIE
 
-#ifdef __cplusplus
-}  // extern "C"
-
-// Overloaded functions for C++ templates
-inline size_t FXSYS_len(const char* ptr) {
-  return strlen(ptr);
-}
-
-inline size_t FXSYS_len(const wchar_t* ptr) {
-  return wcslen(ptr);
-}
-
-inline int FXSYS_cmp(const char* ptr1, const char* ptr2, size_t len) {
-  return memcmp(ptr1, ptr2, len);
-}
-
-inline int FXSYS_cmp(const wchar_t* ptr1, const wchar_t* ptr2, size_t len) {
-  return wmemcmp(ptr1, ptr2, len);
-}
-
-inline const char* FXSYS_chr(const char* ptr, char ch, size_t len) {
-  return reinterpret_cast<const char*>(memchr(ptr, ch, len));
-}
-
-inline const wchar_t* FXSYS_chr(const wchar_t* ptr, wchar_t ch, size_t len) {
-  return wmemchr(ptr, ch, len);
-}
-
-extern "C" {
-#endif  // __cplusplus
-
 #if defined(OS_WIN)
 #define FXSYS_itoa _itoa
 #define FXSYS_strlwr _strlwr
@@ -109,6 +78,46 @@
 uint32_t FXSYS_GetLastError();
 #endif  // defined(OS_WIN)
 
+int32_t FXSYS_atoi(const char* str);
+uint32_t FXSYS_atoui(const char* str);
+int32_t FXSYS_wtoi(const wchar_t* str);
+int64_t FXSYS_atoi64(const char* str);
+const char* FXSYS_i64toa(int64_t value, char* str, int radix);
+int FXSYS_roundf(float f);
+int FXSYS_round(double d);
+float FXSYS_sqrt2(float a, float b);
+
+#ifdef __cplusplus
+}  // extern "C"
+
+// C++-only section
+
+// Overloaded functions for C++ templates
+inline size_t FXSYS_len(const char* ptr) {
+  return strlen(ptr);
+}
+
+inline size_t FXSYS_len(const wchar_t* ptr) {
+  return wcslen(ptr);
+}
+
+inline int FXSYS_cmp(const char* ptr1, const char* ptr2, size_t len) {
+  return memcmp(ptr1, ptr2, len);
+}
+
+inline int FXSYS_cmp(const wchar_t* ptr1, const wchar_t* ptr2, size_t len) {
+  return wmemcmp(ptr1, ptr2, len);
+}
+
+inline const char* FXSYS_chr(const char* ptr, char ch, size_t len) {
+  return reinterpret_cast<const char*>(memchr(ptr, ch, len));
+}
+
+inline const wchar_t* FXSYS_chr(const wchar_t* ptr, wchar_t ch, size_t len) {
+  return wmemchr(ptr, ch, len);
+}
+
+// Could be C, but uses C++-style casting.
 #define FXSYS_UINT16_GET_LSBFIRST(p)                            \
   (static_cast<uint16_t>((static_cast<uint32_t>((p)[1]) << 8) | \
                          (static_cast<uint32_t>((p)[0]))))
@@ -123,18 +132,6 @@
   ((static_cast<uint32_t>((p)[0]) << 24) | \
    (static_cast<uint32_t>((p)[1]) << 16) | \
    (static_cast<uint32_t>((p)[2]) << 8) | (static_cast<uint32_t>((p)[3])))
-
-int32_t FXSYS_atoi(const char* str);
-uint32_t FXSYS_atoui(const char* str);
-int32_t FXSYS_wtoi(const wchar_t* str);
-int64_t FXSYS_atoi64(const char* str);
-const char* FXSYS_i64toa(int64_t value, char* str, int radix);
-int FXSYS_roundf(float f);
-int FXSYS_round(double d);
-float FXSYS_sqrt2(float a, float b);
-
-#ifdef __cplusplus
-}  // extern C
 #endif  // __cplusplus
 
 #endif  // CORE_FXCRT_FX_SYSTEM_H_