aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/fxcrt/widestring.cpp13
-rw-r--r--third_party/Android.bp6
-rw-r--r--third_party/base/compiler_specific.h4
3 files changed, 13 insertions, 10 deletions
diff --git a/core/fxcrt/widestring.cpp b/core/fxcrt/widestring.cpp
index c2701e4cd..f87447da3 100644
--- a/core/fxcrt/widestring.cpp
+++ b/core/fxcrt/widestring.cpp
@@ -298,18 +298,13 @@ WideString WideString::FormatInteger(int i) {
WideString WideString::FormatV(const wchar_t* format, va_list argList) {
va_list argListCopy;
va_copy(argListCopy, argList);
- int maxLen = vswprintf(nullptr, 0, format, argListCopy);
+ auto guess = GuessSizeForVSWPrintf(format, argListCopy);
va_end(argListCopy);
- if (maxLen <= 0) {
- va_copy(argListCopy, argList);
- auto guess = GuessSizeForVSWPrintf(format, argListCopy);
- va_end(argListCopy);
-
- if (!guess.has_value())
- return WideString();
- maxLen = pdfium::base::checked_cast<int>(guess.value());
+ if (!guess.has_value()) {
+ return WideString();
}
+ int maxLen = pdfium::base::checked_cast<int>(guess.value());
while (maxLen < 32 * 1024) {
va_copy(argListCopy, argList);
diff --git a/third_party/Android.bp b/third_party/Android.bp
index 3983ccaa2..083ed4ef6 100644
--- a/third_party/Android.bp
+++ b/third_party/Android.bp
@@ -39,6 +39,12 @@ cc_library_static {
"-DARCH_CPU_ARM64",
],
},
+ riscv64: {
+ cflags: [
+ "-DARCH_CPU_64_BITS",
+ "-DARCH_CPU_RISCV64",
+ ],
+ },
x86: {
cflags: [
"-DARCH_CPU_32_BITS",
diff --git a/third_party/base/compiler_specific.h b/third_party/base/compiler_specific.h
index 8968f6547..e11deb67a 100644
--- a/third_party/base/compiler_specific.h
+++ b/third_party/base/compiler_specific.h
@@ -17,7 +17,9 @@
// Annotate a function indicating it should not be inlined.
// Use like:
// NOINLINE void DoStuff() { ... }
-#if defined(COMPILER_GCC)
+#if defined(__clang__) && HAS_ATTRIBUTE(noinline)
+#define NOINLINE [[clang::noinline]]
+#elif defined(COMPILER_GCC) && HAS_ATTRIBUTE(noinline)
#define NOINLINE __attribute__((noinline))
#elif defined(COMPILER_MSVC)
#define NOINLINE __declspec(noinline)