diff --git a/fpdfsdk/cpdfsdk_annotiteration.cpp b/fpdfsdk/cpdfsdk_annotiteration.cpp
index d256950..fa9a5ea 100644
--- a/fpdfsdk/cpdfsdk_annotiteration.cpp
+++ b/fpdfsdk/cpdfsdk_annotiteration.cpp
@@ -37,4 +37,4 @@
     m_List.emplace_back(pAnnot);
 }
 
-CPDFSDK_AnnotIteration::~CPDFSDK_AnnotIteration() {}
+CPDFSDK_AnnotIteration::~CPDFSDK_AnnotIteration() = default;
diff --git a/fpdfsdk/cpdfsdk_appstream.cpp b/fpdfsdk/cpdfsdk_appstream.cpp
index ad445f2..0c94dc1 100644
--- a/fpdfsdk/cpdfsdk_appstream.cpp
+++ b/fpdfsdk/cpdfsdk_appstream.cpp
@@ -1145,7 +1145,7 @@
                                      CPDF_Dictionary* dict)
     : widget_(widget), dict_(dict) {}
 
-CPDFSDK_AppStream::~CPDFSDK_AppStream() {}
+CPDFSDK_AppStream::~CPDFSDK_AppStream() = default;
 
 void CPDFSDK_AppStream::SetAsPushButton() {
   CPDF_FormControl* pControl = widget_->GetFormControl();
diff --git a/fpdfsdk/cpdfsdk_baannot.cpp b/fpdfsdk/cpdfsdk_baannot.cpp
index 524eccd..4609f28 100644
--- a/fpdfsdk/cpdfsdk_baannot.cpp
+++ b/fpdfsdk/cpdfsdk_baannot.cpp
@@ -25,7 +25,7 @@
                                  CPDFSDK_PageView* pPageView)
     : CPDFSDK_Annot(pPageView), m_pAnnot(pAnnot) {}
 
-CPDFSDK_BAAnnot::~CPDFSDK_BAAnnot() {}
+CPDFSDK_BAAnnot::~CPDFSDK_BAAnnot() = default;
 
 CPDFSDK_BAAnnot* CPDFSDK_BAAnnot::AsBAAnnot() {
   return this;
diff --git a/fpdfsdk/cpdfsdk_baannothandler.cpp b/fpdfsdk/cpdfsdk_baannothandler.cpp
index 49daae8..5566e99 100644
--- a/fpdfsdk/cpdfsdk_baannothandler.cpp
+++ b/fpdfsdk/cpdfsdk_baannothandler.cpp
@@ -41,7 +41,7 @@
 
 CPDFSDK_BAAnnotHandler::CPDFSDK_BAAnnotHandler() {}
 
-CPDFSDK_BAAnnotHandler::~CPDFSDK_BAAnnotHandler() {}
+CPDFSDK_BAAnnotHandler::~CPDFSDK_BAAnnotHandler() = default;
 
 void CPDFSDK_BAAnnotHandler::SetFormFillEnvironment(
     CPDFSDK_FormFillEnvironment* pFormFillEnv) {
diff --git a/fpdfsdk/cpdfsdk_filewriteadapter.cpp b/fpdfsdk/cpdfsdk_filewriteadapter.cpp
index 39a69a5..2583e68 100644
--- a/fpdfsdk/cpdfsdk_filewriteadapter.cpp
+++ b/fpdfsdk/cpdfsdk_filewriteadapter.cpp
@@ -11,7 +11,7 @@
   ASSERT(file_write_);
 }
 
-CPDFSDK_FileWriteAdapter::~CPDFSDK_FileWriteAdapter() {}
+CPDFSDK_FileWriteAdapter::~CPDFSDK_FileWriteAdapter() = default;
 
 bool CPDFSDK_FileWriteAdapter::WriteBlock(const void* data, size_t size) {
   return file_write_->WriteBlock(file_write_.Get(), data, size) != 0;
diff --git a/fpdfsdk/formfiller/cffl_button.cpp b/fpdfsdk/formfiller/cffl_button.cpp
index 1ab48a1..fcc6154 100644
--- a/fpdfsdk/formfiller/cffl_button.cpp
+++ b/fpdfsdk/formfiller/cffl_button.cpp
@@ -14,7 +14,7 @@
       m_bMouseIn(false),
       m_bMouseDown(false) {}
 
-CFFL_Button::~CFFL_Button() {}
+CFFL_Button::~CFFL_Button() = default;
 
 void CFFL_Button::OnMouseEnter(CPDFSDK_PageView* pPageView) {
   m_bMouseIn = true;
diff --git a/fpdfsdk/formfiller/cffl_checkbox.cpp b/fpdfsdk/formfiller/cffl_checkbox.cpp
index 4cb4a02..c8f1148 100644
--- a/fpdfsdk/formfiller/cffl_checkbox.cpp
+++ b/fpdfsdk/formfiller/cffl_checkbox.cpp
@@ -19,7 +19,7 @@
                              CPDFSDK_Widget* pWidget)
     : CFFL_Button(pApp, pWidget) {}
 
-CFFL_CheckBox::~CFFL_CheckBox() {}
+CFFL_CheckBox::~CFFL_CheckBox() = default;
 
 std::unique_ptr<CPWL_Wnd> CFFL_CheckBox::NewPWLWindow(
     const CPWL_Wnd::CreateParams& cp,
diff --git a/fpdfsdk/formfiller/cffl_radiobutton.cpp b/fpdfsdk/formfiller/cffl_radiobutton.cpp
index 670197e..0d167b4 100644
--- a/fpdfsdk/formfiller/cffl_radiobutton.cpp
+++ b/fpdfsdk/formfiller/cffl_radiobutton.cpp
@@ -19,7 +19,7 @@
                                    CPDFSDK_Widget* pWidget)
     : CFFL_Button(pApp, pWidget) {}
 
-CFFL_RadioButton::~CFFL_RadioButton() {}
+CFFL_RadioButton::~CFFL_RadioButton() = default;
 
 std::unique_ptr<CPWL_Wnd> CFFL_RadioButton::NewPWLWindow(
     const CPWL_Wnd::CreateParams& cp,
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
index e6ae514..6f26acb 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
@@ -48,7 +48,7 @@
   ASSERT(m_pContext);
 }
 
-CPDFXFA_DocEnvironment::~CPDFXFA_DocEnvironment() {}
+CPDFXFA_DocEnvironment::~CPDFXFA_DocEnvironment() = default;
 
 void CPDFXFA_DocEnvironment::SetChangeMark(CXFA_FFDoc* hDoc) {
   if (hDoc == m_pContext->GetXFADoc() && m_pContext->GetFormFillEnv())
diff --git a/fpdfsdk/pwl/cpwl_edit_impl.cpp b/fpdfsdk/pwl/cpwl_edit_impl.cpp
index 3f9c04b..6d0ed20 100644
--- a/fpdfsdk/pwl/cpwl_edit_impl.cpp
+++ b/fpdfsdk/pwl/cpwl_edit_impl.cpp
@@ -56,7 +56,7 @@
     CPDF_VariableText::Iterator* pVTIterator)
     : m_pEdit(pEdit), m_pVTIterator(pVTIterator) {}
 
-CPWL_EditImpl_Iterator::~CPWL_EditImpl_Iterator() {}
+CPWL_EditImpl_Iterator::~CPWL_EditImpl_Iterator() = default;
 
 bool CPWL_EditImpl_Iterator::NextWord() {
   return m_pVTIterator->NextWord();
@@ -103,7 +103,7 @@
   ASSERT(m_pFontMap);
 }
 
-CPWL_EditImpl_Provider::~CPWL_EditImpl_Provider() {}
+CPWL_EditImpl_Provider::~CPWL_EditImpl_Provider() = default;
 
 IPVT_FontMap* CPWL_EditImpl_Provider::GetFontMap() const {
   return m_pFontMap;
@@ -151,7 +151,7 @@
 
 CPWL_EditImpl_Refresh::CPWL_EditImpl_Refresh() {}
 
-CPWL_EditImpl_Refresh::~CPWL_EditImpl_Refresh() {}
+CPWL_EditImpl_Refresh::~CPWL_EditImpl_Refresh() = default;
 
 void CPWL_EditImpl_Refresh::BeginRefresh() {
   m_OldLineRects = std::move(m_NewLineRects);
@@ -192,7 +192,7 @@
 CPWL_EditImpl_Undo::CPWL_EditImpl_Undo()
     : m_nCurUndoPos(0), m_bWorking(false) {}
 
-CPWL_EditImpl_Undo::~CPWL_EditImpl_Undo() {}
+CPWL_EditImpl_Undo::~CPWL_EditImpl_Undo() = default;
 
 bool CPWL_EditImpl_Undo::CanUndo() const {
   return m_nCurUndoPos > 0;
@@ -266,7 +266,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_InsertWord::~CFXEU_InsertWord() {}
+CFXEU_InsertWord::~CFXEU_InsertWord() = default;
 
 int CFXEU_InsertWord::Redo() {
   m_pEdit->SelectNone();
@@ -289,7 +289,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_InsertReturn::~CFXEU_InsertReturn() {}
+CFXEU_InsertReturn::~CFXEU_InsertReturn() = default;
 
 int CFXEU_InsertReturn::Redo() {
   m_pEdit->SelectNone();
@@ -311,7 +311,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_ReplaceSelection::~CFXEU_ReplaceSelection() {}
+CFXEU_ReplaceSelection::~CFXEU_ReplaceSelection() = default;
 
 int CFXEU_ReplaceSelection::Redo() {
   m_pEdit->SelectNone();
@@ -343,7 +343,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_Backspace::~CFXEU_Backspace() {}
+CFXEU_Backspace::~CFXEU_Backspace() = default;
 
 int CFXEU_Backspace::Redo() {
   m_pEdit->SelectNone();
@@ -377,7 +377,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_Delete::~CFXEU_Delete() {}
+CFXEU_Delete::~CFXEU_Delete() = default;
 
 int CFXEU_Delete::Redo() {
   m_pEdit->SelectNone();
@@ -403,7 +403,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_Clear::~CFXEU_Clear() {}
+CFXEU_Clear::~CFXEU_Clear() = default;
 
 int CFXEU_Clear::Redo() {
   m_pEdit->SelectNone();
@@ -433,7 +433,7 @@
   ASSERT(m_pEdit);
 }
 
-CFXEU_InsertText::~CFXEU_InsertText() {}
+CFXEU_InsertText::~CFXEU_InsertText() = default;
 
 int CFXEU_InsertText::Redo() {
   m_pEdit->SelectNone();
@@ -572,7 +572,7 @@
       m_bEnableRefresh(true),
       m_bEnableUndo(true) {}
 
-CPWL_EditImpl::~CPWL_EditImpl() {}
+CPWL_EditImpl::~CPWL_EditImpl() = default;
 
 void CPWL_EditImpl::Initialize() {
   m_pVT->Initialize();
diff --git a/fpdfsdk/pwl/cpwl_list_box.cpp b/fpdfsdk/pwl/cpwl_list_box.cpp
index f00a0ad..9e3a793 100644
--- a/fpdfsdk/pwl/cpwl_list_box.cpp
+++ b/fpdfsdk/pwl/cpwl_list_box.cpp
@@ -22,7 +22,7 @@
   ASSERT(m_pList);
 }
 
-CPWL_List_Notify::~CPWL_List_Notify() {}
+CPWL_List_Notify::~CPWL_List_Notify() = default;
 
 void CPWL_List_Notify::IOnSetScrollInfoY(float fPlateMin,
                                          float fPlateMax,
diff --git a/fpdfsdk/pwl/cpwl_list_impl.cpp b/fpdfsdk/pwl/cpwl_list_impl.cpp
index dd636ac..f8784f4 100644
--- a/fpdfsdk/pwl/cpwl_list_impl.cpp
+++ b/fpdfsdk/pwl/cpwl_list_impl.cpp
@@ -52,7 +52,7 @@
 
 CPLST_Select::CPLST_Select() {}
 
-CPLST_Select::~CPLST_Select() {}
+CPLST_Select::~CPLST_Select() = default;
 
 void CPLST_Select::Add(int32_t nItemIndex) {
   m_Items[nItemIndex] = SELECTING;
