Fix GCC build with V8 disabled.
- Remove set, but otherwise unused variables.
- Mark some pdfium_test code as V8-enabled only.
- Do not build one unit test with GCC.
Change-Id: I3f04273a7731086e08386478a62769bf06f6d8a4
Reviewed-on: https://pdfium-review.googlesource.com/41271
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp b/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp
index 6f6aa7c..1f43abe 100644
--- a/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp
+++ b/core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp
@@ -49,12 +49,9 @@
m_Matrix.Scale(1.0f, (float)(max_dpi) / (float)dpiv);
}
m_pBitmapDevice = pdfium::MakeUnique<CFX_DefaultRenderDevice>();
- FXDIB_Format dibFormat = FXDIB_Rgb;
- int32_t bpp = 24;
- if (m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_ALPHA_OUTPUT) {
- dibFormat = FXDIB_Argb;
- bpp = 32;
- }
+ bool bIsAlpha =
+ !!(m_pDevice->GetDeviceCaps(FXDC_RENDER_CAPS) & FXRC_ALPHA_OUTPUT);
+ FXDIB_Format dibFormat = bIsAlpha ? FXDIB_Argb : FXDIB_Rgb;
while (1) {
FX_RECT bitmap_rect =
m_Matrix.TransformRect(CFX_FloatRect(pRect)).GetOuterRect();
diff --git a/core/fxcrt/fx_memory_unittest.cpp b/core/fxcrt/fx_memory_unittest.cpp
index 2856bb9..8036855 100644
--- a/core/fxcrt/fx_memory_unittest.cpp
+++ b/core/fxcrt/fx_memory_unittest.cpp
@@ -59,6 +59,7 @@
FX_Free(ptr);
}
+#if !defined(__GNUC__)
TEST(fxcrt, FX_TryAllocOverflow) {
// |ptr| needs to be defined and used to avoid Clang optimizes away the
// calloc() statement overzealously for optimized builds.
@@ -70,6 +71,7 @@
EXPECT_FALSE(FX_TryRealloc(int, ptr, kOverflowIntAlloc));
FX_Free(ptr);
}
+#endif
TEST(fxcrt, DISABLED_FXMEM_DefaultOOM) {
EXPECT_FALSE(FXMEM_DefaultAlloc(kMaxByteAlloc));
diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc
index b7538a8..e808d64 100644
--- a/samples/pdfium_test.cc
+++ b/samples/pdfium_test.cc
@@ -157,6 +157,7 @@
printf("MD5:%s:%s\n", file_name, hash.c_str());
}
+#ifdef PDF_ENABLE_V8
// These example JS platform callback handlers are entirely optional,
// and exist here to show the flow of information from a document back
// to the embedder.
@@ -217,6 +218,7 @@
GetPlatformWString(BCC).c_str(), GetPlatformWString(Subject).c_str(),
GetPlatformWString(Msg).c_str());
}
+#endif // PDF_ENABLE_V8
void ExampleUnsupportedHandler(UNSUPPORT_INFO*, int type) {
std::string feature = "Unknown";
@@ -702,6 +704,7 @@
if (options.save_attachments)
WriteAttachments(doc.get(), name);
+#ifdef PDF_ENABLE_V8
IPDF_JSPLATFORM platform_callbacks = {};
platform_callbacks.version = 3;
platform_callbacks.app_alert = ExampleAppAlert;
@@ -709,6 +712,7 @@
platform_callbacks.app_beep = ExampleAppBeep;
platform_callbacks.Doc_gotoPage = ExampleDocGotoPage;
platform_callbacks.Doc_mail = ExampleDocMail;
+#endif // PDF_ENABLE_V8
FPDF_FORMFILLINFO_PDFiumTest form_callbacks = {};
#ifdef PDF_ENABLE_XFA