From f6ecadb7aea68fb322bfa1dfce703a24cbd1e395 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Sat, 10 Feb 2018 00:51:00 +0000 Subject: Renable -Wimplicit-fallthrough for PDFium. Didn't find any bugs, but also doesn't require much boilerplate. Bug: TODO Change-Id: I5f30183c55216f1333c79fcb46476d281720873e Reviewed-on: https://pdfium-review.googlesource.com/26210 Reviewed-by: Lei Zhang Commit-Queue: Nico Weber --- core/fpdfapi/page/cpdf_allstates.cpp | 4 ++++ core/fpdfapi/parser/cpdf_data_avail.cpp | 2 ++ core/fpdfapi/render/cpdf_dibtransferfunc.cpp | 2 ++ core/fpdfapi/render/cpdf_renderstatus.cpp | 2 ++ 4 files changed, 10 insertions(+) (limited to 'core/fpdfapi') diff --git a/core/fpdfapi/page/cpdf_allstates.cpp b/core/fpdfapi/page/cpdf_allstates.cpp index afc87a2b5a..d2491bbee7 100644 --- a/core/fpdfapi/page/cpdf_allstates.cpp +++ b/core/fpdfapi/page/cpdf_allstates.cpp @@ -12,6 +12,7 @@ #include "core/fpdfapi/page/cpdf_streamcontentparser.h" #include "core/fpdfapi/parser/cpdf_array.h" #include "core/fpdfapi/parser/cpdf_dictionary.h" +#include "core/fxcrt/fx_fallthrough.h" #include "core/fxge/cfx_graphstatedata.h" #include "third_party/base/stl_util.h" @@ -89,6 +90,7 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, if (pGS->KeyExist("TR2")) { continue; } + FX_FALLTHROUGH; case FXBSTR_ID('T', 'R', '2', 0): m_GeneralState.SetTR(pObject && !pObject->IsName() ? pObject : nullptr); break; @@ -131,6 +133,7 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, if (pGS->KeyExist("BG2")) { continue; } + FX_FALLTHROUGH; case FXBSTR_ID('B', 'G', '2', 0): m_GeneralState.SetBG(pObject); break; @@ -138,6 +141,7 @@ void CPDF_AllStates::ProcessExtGS(CPDF_Dictionary* pGS, if (pGS->KeyExist("UCR2")) { continue; } + FX_FALLTHROUGH; case FXBSTR_ID('U', 'C', 'R', '2'): m_GeneralState.SetUCR(pObject); break; diff --git a/core/fpdfapi/parser/cpdf_data_avail.cpp b/core/fpdfapi/parser/cpdf_data_avail.cpp index af80fd96ab..e871e0a578 100644 --- a/core/fpdfapi/parser/cpdf_data_avail.cpp +++ b/core/fpdfapi/parser/cpdf_data_avail.cpp @@ -26,6 +26,7 @@ #include "core/fpdfapi/parser/fpdf_parser_utility.h" #include "core/fxcrt/cfx_memorystream.h" #include "core/fxcrt/fx_extension.h" +#include "core/fxcrt/fx_fallthrough.h" #include "core/fxcrt/fx_safe_types.h" #include "third_party/base/numerics/safe_conversions.h" #include "third_party/base/ptr_util.h" @@ -133,6 +134,7 @@ bool CPDF_DataAvail::CheckDocStatus() { return LoadAllFile(); case PDF_DATAAVAIL_PAGE_LATERLOAD: m_docStatus = PDF_DATAAVAIL_PAGE; + FX_FALLTHROUGH; default: m_bDocAvail = true; return true; diff --git a/core/fpdfapi/render/cpdf_dibtransferfunc.cpp b/core/fpdfapi/render/cpdf_dibtransferfunc.cpp index 3b0e8b25a9..959fec383d 100644 --- a/core/fpdfapi/render/cpdf_dibtransferfunc.cpp +++ b/core/fpdfapi/render/cpdf_dibtransferfunc.cpp @@ -10,6 +10,7 @@ #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/render/cpdf_transferfunc.h" +#include "core/fxcrt/fx_fallthrough.h" CPDF_DIBTransferFunc::CPDF_DIBTransferFunc( const RetainPtr& pTransferFunc) @@ -119,6 +120,7 @@ void CPDF_DIBTransferFunc::TranslateScanline( } case FXDIB_Rgb32: bSkip = true; + FX_FALLTHROUGH; case FXDIB_Argb: { int index = 0; for (int i = 0; i < m_Width; i++) { diff --git a/core/fpdfapi/render/cpdf_renderstatus.cpp b/core/fpdfapi/render/cpdf_renderstatus.cpp index 66688a2d4c..6525164547 100644 --- a/core/fpdfapi/render/cpdf_renderstatus.cpp +++ b/core/fpdfapi/render/cpdf_renderstatus.cpp @@ -49,6 +49,7 @@ #include "core/fpdfdoc/cpdf_occontext.h" #include "core/fxcrt/autorestorer.h" #include "core/fxcrt/cfx_fixedbufgrow.h" +#include "core/fxcrt/fx_fallthrough.h" #include "core/fxcrt/fx_safe_types.h" #include "core/fxcrt/maybe_owned.h" #include "core/fxge/cfx_defaultrenderdevice.h" @@ -1765,6 +1766,7 @@ bool CPDF_RenderStatus::ProcessText(CPDF_TextObject* textobj, // Already handled above, but the compiler is not smart enough to // realize it. Fall through. NOTREACHED(); + FX_FALLTHROUGH; case TextRenderingMode::MODE_CLIP: return true; } -- cgit v1.2.3