From c5d1c89cbcd3ec4075c1a3a5e6b3873d99aae9c2 Mon Sep 17 00:00:00 2001
From: Rye Mutt <rye@alchemyviewer.org>
Date: Thu, 12 Dec 2019 01:13:37 -0500
Subject: [PATCH] Default empty constructors and destructors

---
 indra/llappearance/llpolymesh.h             |  2 +-
 indra/llcharacter/llkeyframemotion.h        |  2 +-
 indra/llcommon/lleventemitter.h             |  4 ++--
 indra/llcommon/llhandle.h                   |  2 +-
 indra/llcommon/llinitparam.h                |  2 +-
 indra/llcommon/llmemory.cpp                 |  2 +-
 indra/llcommon/llprocess.cpp                |  1 -
 indra/llcommon/llprocess.h                  |  2 +-
 indra/llmessage/llhttpnode.cpp              |  2 --
 indra/llmessage/llhttpnode.h                |  2 +-
 indra/llmessage/llpacketack.h               |  2 +-
 indra/llmessage/llxfermanager.h             |  2 +-
 indra/llprimitive/llmodel.h                 |  2 +-
 indra/llui/llflashtimer.h                   |  2 +-
 indra/llui/llfolderview.h                   | 10 +++++-----
 indra/llui/llhelp.h                         |  2 +-
 indra/llui/llloadingindicator.h             |  2 +-
 indra/llui/llmenugl.h                       |  8 ++++----
 indra/llui/llnotifications.h                |  6 +++---
 indra/llui/llsearcheditor.h                 |  2 +-
 indra/llui/llspellcheckmenuhandler.h        |  2 +-
 indra/llui/llspinctrl.h                     |  2 +-
 indra/llui/lltextbase.h                     |  2 +-
 indra/llui/lltexteditor.cpp                 |  2 +-
 indra/llui/llundo.h                         |  2 +-
 indra/llui/llview.cpp                       |  2 +-
 indra/llui/llviewquery.h                    |  8 ++++----
 indra/llui/llxuiparser.cpp                  |  2 --
 indra/llui/llxuiparser.h                    |  2 +-
 indra/llvfs/llvfsthread.h                   |  2 +-
 indra/llwindow/lldragdropwin32.cpp          | 10 ++--------
 indra/llwindow/lldragdropwin32.h            |  6 +++---
 indra/llwindow/llkeyboardheadless.h         |  2 +-
 indra/llwindow/llkeyboardwin32.h            |  2 +-
 indra/llwindow/llmousehandler.h             |  4 ++--
 indra/llwindow/llpreeditor.h                |  2 +-
 indra/llwindow/llwindow.h                   |  4 ++--
 indra/llwindow/llwindowcallbacks.h          |  2 +-
 indra/llwindow/llwindowheadless.h           |  4 ++--
 indra/llxml/llcontrol.h                     |  2 +-
 indra/llxml/llxmlparser.cpp                 |  4 ++--
 indra/newview/llaccountingcostmanager.h     |  2 +-
 indra/newview/llagent.cpp                   |  4 ++--
 indra/newview/llappearancemgr.h             |  2 +-
 indra/newview/llavatarpropertiesprocessor.h |  2 +-
 indra/newview/llblocklist.h                 | 14 +++++++-------
 indra/newview/llcallingcard.h               | 12 ++++++------
 indra/newview/llchannelmanager.h            |  2 +-
 indra/newview/llchatbar.cpp                 |  2 +-
 indra/newview/llchatitemscontainerctrl.h    |  2 +-
 indra/newview/llcofwearables.h              |  4 ++--
 indra/newview/llcommandlineparser.cpp       |  2 +-
 indra/newview/llconversationlog.cpp         |  4 ++--
 indra/newview/llconversationlog.h           |  2 +-
 indra/newview/llconversationloglist.h       | 14 +++++++-------
 indra/newview/llconversationmodel.h         |  2 +-
 indra/newview/lldesktopnotificationsnope.h  |  2 +-
 indra/newview/lldrawpoolbump.h              |  2 +-
 indra/newview/lldroptarget.h                |  2 +-
 indra/newview/llenvmanager.h                |  2 +-
 indra/newview/lleventnotifier.h             |  2 +-
 indra/newview/llfloaterconversationlog.h    |  2 +-
 indra/newview/llfloaterdisplayname.cpp      |  2 +-
 indra/newview/llfloatermessagelog.h         |  4 ++--
 indra/newview/llfloaterpreference.cpp       |  2 +-
 indra/newview/llfloateruipreview.cpp        |  2 +-
 indra/newview/llfloaterworldmap.cpp         |  8 ++++----
 indra/newview/llfollowcam.cpp               |  2 --
 indra/newview/llfollowcam.h                 |  2 +-
 indra/newview/llfriendcard.cpp              |  2 +-
 indra/newview/llgesturemgr.h                |  2 +-
 indra/newview/llgrouplist.cpp               |  2 +-
 indra/newview/llgrouplist.h                 |  2 +-
 indra/newview/llgroupmgr.h                  |  4 ++--
 indra/newview/llhttpretrypolicy.h           |  4 ++--
 indra/newview/llimview.h                    |  4 ++--
 indra/newview/llinspectremoteobject.cpp     |  2 +-
 indra/newview/llinventorybridge.cpp         | 12 ++++++------
 indra/newview/llinventorybridge.h           | 10 +++++-----
 indra/newview/llinventoryfilter.h           |  2 +-
 indra/newview/llinventoryfunctions.h        | 20 ++++++++++----------
 indra/newview/llinventorylistitem.h         |  2 +-
 indra/newview/llinventorymodel.cpp          |  6 +++---
 indra/newview/llinventoryobserver.h         |  6 +++---
 indra/newview/llinventorypanel.cpp          |  2 +-
 indra/newview/lllocationhistory.h           |  2 +-
 indra/newview/lllogchat.h                   |  6 +++---
 indra/newview/lllogininstance.cpp           |  2 +-
 indra/newview/llmarketplacefunctions.cpp    |  4 ++--
 indra/newview/llmutelist.h                  |  2 +-
 indra/newview/llnotificationhandler.h       | 12 ++++++------
 indra/newview/lloutfitgallery.h             |  4 ++--
 indra/newview/llpanelface.cpp               |  2 +-
 indra/newview/llpanelface.h                 |  6 +++---
 indra/newview/llpanelgroupnotices.cpp       |  2 +-
 indra/newview/llpanellandmarks.cpp          |  2 +-
 indra/newview/llpanelonlinestatus.h         |  2 +-
 indra/newview/llpanelpeople.cpp             | 12 ++++++------
 indra/newview/llpanelradaralert.h           |  2 +-
 indra/newview/llscreenchannel.h             |  4 ++--
 indra/newview/llscriptfloater.h             |  2 +-
 indra/newview/llsearchcombobox.cpp          |  2 +-
 indra/newview/llsecapi.h                    |  8 ++++----
 indra/newview/llsechandler_basic.h          |  2 +-
 indra/newview/llselectmgr.cpp               |  2 +-
 indra/newview/llselectmgr.h                 | 10 +++++-----
 indra/newview/llspeakers.h                  |  2 +-
 indra/newview/llspeakingindicatormanager.h  |  2 +-
 indra/newview/llsplitbutton.h               |  2 +-
 indra/newview/llstreaminfo.h                |  2 +-
 indra/newview/llsurfacepatch.h              |  2 +-
 indra/newview/lltexturecache.cpp            |  2 +-
 indra/newview/lltoastimpanel.h              |  2 +-
 indra/newview/lltoastscriptquestion.h       |  2 +-
 indra/newview/lltooldraganddrop.cpp         | 10 +++++-----
 indra/newview/lltoolmorph.h                 |  2 +-
 indra/newview/lltranslate.cpp               |  2 +-
 indra/newview/lluploadfloaterobservers.h    |  6 +++---
 indra/newview/llviewerassettype.h           |  4 ++--
 indra/newview/llviewerfoldertype.h          |  4 ++--
 indra/newview/llviewerinventory.cpp         |  2 +-
 indra/newview/llviewerkeyboard.h            |  4 ++--
 indra/newview/llviewermenu.cpp              |  4 ++--
 indra/newview/llviewertexteditor.cpp        |  2 +-
 indra/newview/llviewertexture.h             |  2 +-
 indra/newview/llvoiceclient.h               | 14 +++++++-------
 indra/newview/llwearableitemslist.cpp       |  2 +-
 indra/newview/llwearableitemslist.h         |  8 ++++----
 indra/newview/rlvcommon.h                   | 10 +++++-----
 indra/newview/rlvextensions.h               |  2 +-
 indra/newview/rlvhelper.h                   |  4 ++--
 indra/newview/rlvinventory.cpp              |  2 +-
 indra/newview/rlvinventory.h                | 18 +++++++++---------
 indra/newview/rlvlocks.cpp                  |  2 +-
 indra/newview/rlvmodifiers.h                |  4 ++--
 135 files changed, 257 insertions(+), 270 deletions(-)

diff --git a/indra/llappearance/llpolymesh.h b/indra/llappearance/llpolymesh.h
index e3fcab2e78..0ec8168236 100644
--- a/indra/llappearance/llpolymesh.h
+++ b/indra/llappearance/llpolymesh.h
@@ -144,7 +144,7 @@ class LLJointRenderData
 {
 public:
 	LLJointRenderData(const LLMatrix4* world_matrix, LLSkinJoint* skin_joint) : mWorldMatrix(world_matrix), mSkinJoint(skin_joint) {}
-	~LLJointRenderData(){}
+	~LLJointRenderData() = default;
 
 	const LLMatrix4*		mWorldMatrix;
 	LLSkinJoint*			mSkinJoint;
diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h
index 487ed12ee1..c3918c2669 100644
--- a/indra/llcharacter/llkeyframemotion.h
+++ b/indra/llcharacter/llkeyframemotion.h
@@ -429,7 +429,7 @@ class LLKeyframeDataCache
 {
 public:
 	// *FIX: implement this as an actual singleton member of LLKeyframeMotion
-	LLKeyframeDataCache(){};
+	LLKeyframeDataCache() = default;
 	~LLKeyframeDataCache();
 
 	typedef absl::flat_hash_map<LLUUID, class LLKeyframeMotion::JointMotionList*> keyframe_data_map_t; 
diff --git a/indra/llcommon/lleventemitter.h b/indra/llcommon/lleventemitter.h
index cd82fc56f9..553a32f533 100644
--- a/indra/llcommon/lleventemitter.h
+++ b/indra/llcommon/lleventemitter.h
@@ -51,9 +51,9 @@ class eventEmitter
 		ObserverContainer observers;
 
 	public:
-		eventEmitter () { };
+		eventEmitter () = default;
 
-		~eventEmitter () { };
+		~eventEmitter () = default;
 
 		///////////////////////////////////////////////////////////////////////////////
 		//
diff --git a/indra/llcommon/llhandle.h b/indra/llcommon/llhandle.h
index 7e2e1279eb..870b89c27a 100644
--- a/indra/llcommon/llhandle.h
+++ b/indra/llcommon/llhandle.h
@@ -229,7 +229,7 @@ public:
     };
 
 protected:
-    LLCheckedHandleBase() { }
+    LLCheckedHandleBase() = default;
 
 };
 
diff --git a/indra/llcommon/llinitparam.h b/indra/llcommon/llinitparam.h
index 3b4ea7b1fd..b8ab5c9ad7 100644
--- a/indra/llcommon/llinitparam.h
+++ b/indra/llcommon/llinitparam.h
@@ -845,7 +845,7 @@ namespace LLInitParam
 			mParamProvided(false)
 		{}
 
-		virtual ~BaseBlock() {}
+		virtual ~BaseBlock() = default;
 		bool submitValue(Parser::name_stack_t& name_stack, Parser& p, bool silent=false);
 
 		param_handle_t getHandleFromParam(const Param* param) const;
diff --git a/indra/llcommon/llmemory.cpp b/indra/llcommon/llmemory.cpp
index 0fd6effeac..2344d94229 100644
--- a/indra/llcommon/llmemory.cpp
+++ b/indra/llcommon/llmemory.cpp
@@ -370,7 +370,7 @@ struct mem_info {
 	}
 
 private:
-	mem_info(){}
+	mem_info() = default;
 };
 
 void* ll_aligned_malloc_fallback( size_t size, int align )
diff --git a/indra/llcommon/llprocess.cpp b/indra/llcommon/llprocess.cpp
index ae14b4b831..484eb6cf61 100644
--- a/indra/llcommon/llprocess.cpp
+++ b/indra/llcommon/llprocess.cpp
@@ -130,7 +130,6 @@ static LLProcessListener sProcessListener;
 /*****************************************************************************
 *   WritePipe and ReadPipe
 *****************************************************************************/
-LLProcess::BasePipe::~BasePipe() {}
 const LLProcess::BasePipe::size_type
 	  // use funky syntax to call max() to avoid blighted max() macros
 	  LLProcess::BasePipe::npos((std::numeric_limits<LLProcess::BasePipe::size_type>::max)());
diff --git a/indra/llcommon/llprocess.h b/indra/llcommon/llprocess.h
index 7f2095c2a0..8f69a0a807 100644
--- a/indra/llcommon/llprocess.h
+++ b/indra/llcommon/llprocess.h
@@ -365,7 +365,7 @@ public:
 	class LL_COMMON_API BasePipe
 	{
 	public:
-		virtual ~BasePipe() = 0;
+		virtual ~BasePipe() = default;
 
 		typedef std::size_t size_type;
 		static const size_type npos;
diff --git a/indra/llmessage/llhttpnode.cpp b/indra/llmessage/llhttpnode.cpp
index 24cd74fc88..bec3cf6d13 100644
--- a/indra/llmessage/llhttpnode.cpp
+++ b/indra/llmessage/llhttpnode.cpp
@@ -443,8 +443,6 @@ namespace
     }
 }
 
-LLHTTPRegistrar::NodeFactory::~NodeFactory() { }
-
 void LLHTTPRegistrar::registerFactory(
     const std::string& path, NodeFactory& factory)
 {
diff --git a/indra/llmessage/llhttpnode.h b/indra/llmessage/llhttpnode.h
index 839ccb9f2c..f3601be773 100644
--- a/indra/llmessage/llhttpnode.h
+++ b/indra/llmessage/llhttpnode.h
@@ -350,7 +350,7 @@ public:
 	class NodeFactory
 	{
 	public:
-		virtual ~NodeFactory();
+		virtual ~NodeFactory() = default;
 		virtual LLHTTPNode* build() const = 0;
 	};
 
diff --git a/indra/llmessage/llpacketack.h b/indra/llmessage/llpacketack.h
index cb6c2b01ce..f92d8431c6 100644
--- a/indra/llmessage/llpacketack.h
+++ b/indra/llmessage/llpacketack.h
@@ -47,7 +47,7 @@ public:
 		clear();
 	};
 
-	~LLReliablePacketParams() { };
+	~LLReliablePacketParams() = default;
 
 	void clear()
 	{
diff --git a/indra/llmessage/llxfermanager.h b/indra/llmessage/llxfermanager.h
index 45ae2ffdd3..7b9b2afe87 100644
--- a/indra/llmessage/llxfermanager.h
+++ b/indra/llmessage/llxfermanager.h
@@ -52,7 +52,7 @@ class LLHostStatus
 	S32    mNumPending;
 
 	LLHostStatus() {mNumActive = 0; mNumPending = 0;};
-	virtual ~LLHostStatus(){};
+	virtual ~LLHostStatus() = default;
 };
 
 // Class stores ack information, to be put on list so we can throttle xfer rate.
diff --git a/indra/llprimitive/llmodel.h b/indra/llprimitive/llmodel.h
index 6c25a53446..b70674a8a8 100644
--- a/indra/llprimitive/llmodel.h
+++ b/indra/llprimitive/llmodel.h
@@ -109,7 +109,7 @@ public:
 	class Decomposition
 	{
 	public:
-		Decomposition() { }
+		Decomposition() = default;
 		Decomposition(LLSD& data);
 		void fromLLSD(LLSD& data);
 		LLSD asLLSD() const;
diff --git a/indra/llui/llflashtimer.h b/indra/llui/llflashtimer.h
index 164c95357b..d38e20c262 100644
--- a/indra/llui/llflashtimer.h
+++ b/indra/llui/llflashtimer.h
@@ -43,7 +43,7 @@ public:
 	 * @param cb - callback to be called each tick
 	 */
 	LLFlashTimer(callback_t cb = NULL, S32 count = 0, F32 period = 0.0);
-	~LLFlashTimer() {};
+	~LLFlashTimer() = default;
 
 	/*virtual*/ BOOL tick() override;
 
diff --git a/indra/llui/llfolderview.h b/indra/llui/llfolderview.h
index c39ff1781a..0938cd78cd 100644
--- a/indra/llui/llfolderview.h
+++ b/indra/llui/llfolderview.h
@@ -66,7 +66,7 @@ class LLTextBox;
 class LLFolderViewScrollContainer final : public LLScrollContainer
 {
 public:
-	/*virtual*/ ~LLFolderViewScrollContainer() {};
+	/*virtual*/ ~LLFolderViewScrollContainer() = default;
 	/*virtual*/ const LLRect getScrolledViewRect() const override;
 
 protected:
@@ -344,7 +344,7 @@ public:
 class LLFolderViewFunctor
 {
 public:
-	virtual ~LLFolderViewFunctor() {}
+	virtual ~LLFolderViewFunctor() = default;
 	virtual void doFolder(LLFolderViewFolder* folder) = 0;
 	virtual void doItem(LLFolderViewItem* item) = 0;
 };
@@ -364,7 +364,7 @@ class LLSelectFirstFilteredItem : public LLFolderViewFunctor
 {
 public:
 	LLSelectFirstFilteredItem() : mItemSelected(FALSE), mFolderSelected(FALSE) {}
-	virtual ~LLSelectFirstFilteredItem() {}
+	virtual ~LLSelectFirstFilteredItem() = default;
 	void doFolder(LLFolderViewFolder* folder) override;
 	void doItem(LLFolderViewItem* item) override;
 	BOOL wasItemSelected() { return mItemSelected || mFolderSelected; }
@@ -376,8 +376,8 @@ protected:
 class LLOpenFilteredFolders : public LLFolderViewFunctor
 {
 public:
-	LLOpenFilteredFolders()  {}
-	virtual ~LLOpenFilteredFolders() {}
+	LLOpenFilteredFolders() = default;
+	virtual ~LLOpenFilteredFolders() = default;
 	void doFolder(LLFolderViewFolder* folder) override;
 	void doItem(LLFolderViewItem* item) override;
 };
diff --git a/indra/llui/llhelp.h b/indra/llui/llhelp.h
index 82ee60ac6c..380cf808b9 100644
--- a/indra/llui/llhelp.h
+++ b/indra/llui/llhelp.h
@@ -31,7 +31,7 @@
 class LLHelp
 {
  public:
-    virtual ~LLHelp() {}
+    virtual ~LLHelp() = default;
 	virtual void showTopic(const std::string &topic) = 0;
 	virtual std::string getURL(const std::string &topic) = 0;
 	// return default (fallback) topic name suitable for showTopic()
diff --git a/indra/llui/llloadingindicator.h b/indra/llui/llloadingindicator.h
index b5e86c0ac1..909bc7f50c 100644
--- a/indra/llui/llloadingindicator.h
+++ b/indra/llui/llloadingindicator.h
@@ -71,7 +71,7 @@ public:
 		{}
 	};
 
-	virtual ~LLLoadingIndicator() {}
+	virtual ~LLLoadingIndicator() = default;
 
 	// llview overrides
 	void draw() override;
diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h
index 88d585b1a4..36332ca5b9 100644
--- a/indra/llui/llmenugl.h
+++ b/indra/llui/llmenugl.h
@@ -701,7 +701,7 @@ protected:
 	friend class LLUICtrlFactory;
 
 public:
-	virtual ~LLContextMenu() {}
+	virtual ~LLContextMenu() = default;
 
 	// LLView Functionality
 	// can't set visibility directly, must call show or hide
@@ -818,7 +818,7 @@ public:
 	struct Params : public LLInitParam::Block<Params, LLPanel::Params>
 	{};
 	LLMenuHolderGL(const Params& p);
-	virtual ~LLMenuHolderGL() {}
+	virtual ~LLMenuHolderGL() = default;
 
 	virtual BOOL hideMenus();
 	void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE) override;
@@ -909,9 +909,9 @@ public:
 		static LLEditMenuHandlerMgr instance;
 		return instance;
 	}
-	virtual ~LLEditMenuHandlerMgr() {}
+	virtual ~LLEditMenuHandlerMgr() = default;
 private:
-	LLEditMenuHandlerMgr() {};
+	LLEditMenuHandlerMgr() = default;;
 };
 
 
diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h
index 0d981dd845..5ec2bb7247 100644
--- a/indra/llui/llnotifications.h
+++ b/indra/llui/llnotifications.h
@@ -135,7 +135,7 @@ public:
 	{
 	}
 
-	virtual ~LLNotificationContext() {}
+	virtual ~LLNotificationContext() = default;
 
 	LLSD asLLSD() const
 	{
@@ -635,7 +635,7 @@ public:
 
 	bool matchesTag(const std::string& tag);
 
-	virtual ~LLNotification() {}
+	virtual ~LLNotification() = default;
 };
 
 std::ostream& operator<<(std::ostream& s, const LLNotification& notification);
@@ -735,7 +735,7 @@ public:
 	:	mItems(), 
 		mFilter(std::move(filter)) 
 	{}
-	virtual ~LLNotificationChannelBase() {}
+	virtual ~LLNotificationChannelBase() = default;
 	// you can also connect to a Channel, so you can be notified of
 	// changes to this channel
 	template <typename LISTENER>
diff --git a/indra/llui/llsearcheditor.h b/indra/llui/llsearcheditor.h
index 0638e28289..9c0cb83df8 100644
--- a/indra/llui/llsearcheditor.h
+++ b/indra/llui/llsearcheditor.h
@@ -65,7 +65,7 @@ protected:
 	friend class LLUICtrlFactory;
 
 public:
-	virtual ~LLSearchEditor() {}
+	virtual ~LLSearchEditor() = default;
 
 	/*virtual*/ void	draw() override;
 
diff --git a/indra/llui/llspellcheckmenuhandler.h b/indra/llui/llspellcheckmenuhandler.h
index 74b3a654f3..87964280a0 100644
--- a/indra/llui/llspellcheckmenuhandler.h
+++ b/indra/llui/llspellcheckmenuhandler.h
@@ -30,7 +30,7 @@
 class LLSpellCheckMenuHandler
 {
 public:
-    virtual ~LLSpellCheckMenuHandler() {}
+    virtual ~LLSpellCheckMenuHandler() = default;
     
 	virtual bool	getSpellCheck() const			{ return false; }
 
diff --git a/indra/llui/llspinctrl.h b/indra/llui/llspinctrl.h
index f1d21fadb4..126a91ab47 100644
--- a/indra/llui/llspinctrl.h
+++ b/indra/llui/llspinctrl.h
@@ -59,7 +59,7 @@ protected:
 	LLSpinCtrl(const Params&);
 	friend class LLUICtrlFactory;
 public:
-	virtual ~LLSpinCtrl() {} // Children all cleaned up by default view destructor.
+	virtual ~LLSpinCtrl() = default; // Children all cleaned up by default view destructor.
 
 	virtual void    forceSetValue(const LLSD& value ) ;
 	void	setValue(const LLSD& value ) override;
diff --git a/indra/llui/lltextbase.h b/indra/llui/lltextbase.h
index 99ec5aa7a2..db7fd76d5b 100644
--- a/indra/llui/lltextbase.h
+++ b/indra/llui/lltextbase.h
@@ -516,7 +516,7 @@ protected:
 				mSegments.push_back(segment);
 			}
 		}
-		virtual			~TextCmd() {}
+		virtual			~TextCmd() = default;
 		virtual BOOL	execute(LLTextBase* editor, S32* delta) = 0;
 		virtual S32		undo(LLTextBase* editor) = 0;
 		virtual S32		redo(LLTextBase* editor) = 0;
diff --git a/indra/llui/lltexteditor.cpp b/indra/llui/lltexteditor.cpp
index b8513f1ace..6365f57412 100644
--- a/indra/llui/lltexteditor.cpp
+++ b/indra/llui/lltexteditor.cpp
@@ -88,7 +88,7 @@ public:
 		: TextCmd(pos, group_with_next, segment), mWString(std::move(ws))
 	{
 	}
-	virtual ~TextCmdInsert() {}
+	virtual ~TextCmdInsert() = default;
 
 	BOOL execute( LLTextBase* editor, S32* delta ) override
 	{
diff --git a/indra/llui/llundo.h b/indra/llui/llundo.h
index a6da550126..ba131b0e83 100644
--- a/indra/llui/llundo.h
+++ b/indra/llui/llundo.h
@@ -40,7 +40,7 @@ public:
 		virtual void cleanup() {};
 	protected:
 		LLUndoAction(): mClusterID(0) {};
-		virtual ~LLUndoAction(){};
+		virtual ~LLUndoAction() = default;
 	private:
 		S32		mClusterID;
 	};
diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp
index 2a80ea671f..d0a1bd4746 100644
--- a/indra/llui/llview.cpp
+++ b/indra/llui/llview.cpp
@@ -1945,7 +1945,7 @@ public:
 		:	mTabOrder(order),
 		mDefaultTabGroup(default_tab_group)
 	{}
-	virtual ~CompareByTabOrder() {}
+	virtual ~CompareByTabOrder() = default;
 
 	// This method compares two LLViews by the tab order specified in the comparator object.  The
 	// code for this is a little convoluted because each argument can have four states:
diff --git a/indra/llui/llviewquery.h b/indra/llui/llviewquery.h
index 4344b4c3de..f8b5d4511f 100644
--- a/indra/llui/llviewquery.h
+++ b/indra/llui/llviewquery.h
@@ -41,14 +41,14 @@ typedef std::pair<BOOL, BOOL>		filterResult_t;
 class LLQueryFilter
 {
 public:
-	virtual ~LLQueryFilter() {};
+	virtual ~LLQueryFilter() = default;
 	virtual filterResult_t operator() (const LLView* const view, const viewList_t & children) const = 0;
 };
 
 class LLQuerySorter
 {
 public:
-	virtual ~LLQuerySorter() {};
+	virtual ~LLQuerySorter() = default;
 	virtual void sort(LLView * parent, viewList_t &children) const;
 };
 
@@ -106,8 +106,8 @@ public:
 	typedef filterList_t::iterator				filterList_iter_t;
 	typedef filterList_t::const_iterator		filterList_const_iter_t;
 
-	LLViewQuery() : mPreFilters(), mPostFilters(), mSorterp() {}
-	virtual ~LLViewQuery() {}
+	LLViewQuery() : mPreFilters(), mPostFilters(), mSorterp(nullptr) {}
+	virtual ~LLViewQuery() = default;
 
 	void addPreFilter(const LLQueryFilter* prefilter) { mPreFilters.push_back(prefilter); }
 	void addPostFilter(const LLQueryFilter* postfilter) { mPostFilters.push_back(postfilter); }
diff --git a/indra/llui/llxuiparser.cpp b/indra/llui/llxuiparser.cpp
index 70b97a0387..a3bbeee4a4 100644
--- a/indra/llui/llxuiparser.cpp
+++ b/indra/llui/llxuiparser.cpp
@@ -331,8 +331,6 @@ LLXSDWriter::LLXSDWriter()
 	registerInspectFunc<LLSD>(std::bind(&LLXSDWriter::writeAttribute, this, "xs:string", std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4));
 }
 
-LLXSDWriter::~LLXSDWriter() {}
-
 void LLXSDWriter::writeXSD(const std::string& type_name, LLXMLNodePtr node, const LLInitParam::BaseBlock& block, const std::string& xml_namespace)
 {
 	Schema schema(xml_namespace);
diff --git a/indra/llui/llxuiparser.h b/indra/llui/llxuiparser.h
index b87f5cd926..d99f4d2689 100644
--- a/indra/llui/llxuiparser.h
+++ b/indra/llui/llxuiparser.h
@@ -64,7 +64,7 @@ public:
 	/*virtual*/ std::string getCurrentElementName() override { return LLStringUtil::null; }
 	/*virtual*/ std::string getCurrentFileName() override { return LLStringUtil::null; }
 	LLXSDWriter();
-	~LLXSDWriter();
+	~LLXSDWriter() = default;
 
 protected:
 	void writeAttribute(const std::string& type, const Parser::name_stack_t&, S32 min_count, S32 max_count, const std::vector<std::string>* possible_values);
diff --git a/indra/llvfs/llvfsthread.h b/indra/llvfs/llvfsthread.h
index 73cd0b91f9..c35bdf65c2 100644
--- a/indra/llvfs/llvfsthread.h
+++ b/indra/llvfs/llvfsthread.h
@@ -49,7 +49,7 @@ public:
 	class Request : public QueuedRequest
 	{
 	protected:
-		~Request() {}; // use deleteRequest()
+		~Request() = default; // use deleteRequest()
 		
 	public:
 		Request(handle_t handle, U32 priority, U32 flags,
diff --git a/indra/llwindow/lldragdropwin32.cpp b/indra/llwindow/lldragdropwin32.cpp
index 884919d38e..b0de3d3b60 100644
--- a/indra/llwindow/lldragdropwin32.cpp
+++ b/indra/llwindow/lldragdropwin32.cpp
@@ -295,18 +295,12 @@ class LLDragDropWin32Target:
 ////////////////////////////////////////////////////////////////////////////////
 //
 LLDragDropWin32::LLDragDropWin32() :
-	mDropTarget(nullptr ),
-	mDropWindowHandle(nullptr )
+	mDropTarget(nullptr),
+	mDropWindowHandle(nullptr)
 
 {
 }
 
-////////////////////////////////////////////////////////////////////////////////
-//
-LLDragDropWin32::~LLDragDropWin32()
-{
-}
-
 ////////////////////////////////////////////////////////////////////////////////
 //
 bool LLDragDropWin32::init( HWND hWnd )
diff --git a/indra/llwindow/lldragdropwin32.h b/indra/llwindow/lldragdropwin32.h
index 4673242cba..c6fceda708 100644
--- a/indra/llwindow/lldragdropwin32.h
+++ b/indra/llwindow/lldragdropwin32.h
@@ -38,7 +38,7 @@ class LLDragDropWin32
 {
 	public:
 		LLDragDropWin32();
-		~LLDragDropWin32();
+		~LLDragDropWin32() = default;;
 
 		bool init( HWND hWnd );
 		void reset();
@@ -61,8 +61,8 @@ class LLDragDropWin32
 class LLDragDropWin32
 {
 	public:
-		LLDragDropWin32() {};
-		~LLDragDropWin32() {};
+		LLDragDropWin32() = default;
+		~LLDragDropWin32() = default;
 
 		bool init( HWND hWnd ) { return false; };
 		void reset() { };
diff --git a/indra/llwindow/llkeyboardheadless.h b/indra/llwindow/llkeyboardheadless.h
index 9dc5e20e2b..74ab87c003 100644
--- a/indra/llwindow/llkeyboardheadless.h
+++ b/indra/llwindow/llkeyboardheadless.h
@@ -33,7 +33,7 @@ class LLKeyboardHeadless : public LLKeyboard
 {
 public:
 	LLKeyboardHeadless();
-	/*virtual*/ ~LLKeyboardHeadless() {};
+	/*virtual*/ ~LLKeyboardHeadless() = default;
 
 	/*virtual*/ BOOL	handleKeyUp(const U32 key, MASK mask) override;
 	/*virtual*/ BOOL	handleKeyDown(const U32 key, MASK mask) override;
diff --git a/indra/llwindow/llkeyboardwin32.h b/indra/llwindow/llkeyboardwin32.h
index 8914ff0120..40b12feacd 100644
--- a/indra/llwindow/llkeyboardwin32.h
+++ b/indra/llwindow/llkeyboardwin32.h
@@ -37,7 +37,7 @@ class LLKeyboardWin32 : public LLKeyboard
 {
 public:
 	LLKeyboardWin32();
-	/*virtual*/ ~LLKeyboardWin32() {};
+	/*virtual*/ ~LLKeyboardWin32() = default;
 
 	/*virtual*/ BOOL	handleKeyUp(const U32 key, MASK mask) override;
 	/*virtual*/ BOOL	handleKeyDown(const U32 key, MASK mask) override;
diff --git a/indra/llwindow/llmousehandler.h b/indra/llwindow/llmousehandler.h
index d825a3424c..8d63e32417 100644
--- a/indra/llwindow/llmousehandler.h
+++ b/indra/llwindow/llmousehandler.h
@@ -37,8 +37,8 @@
 class LLMouseHandler
 {
 public:
-	LLMouseHandler() {}
-	virtual ~LLMouseHandler() {}
+	LLMouseHandler() = default;
+	virtual ~LLMouseHandler() = default;
 
 	typedef enum {
 		SHOW_NEVER,
diff --git a/indra/llwindow/llpreeditor.h b/indra/llwindow/llpreeditor.h
index 9802fd8606..548fd354a2 100644
--- a/indra/llwindow/llpreeditor.h
+++ b/indra/llwindow/llpreeditor.h
@@ -38,7 +38,7 @@ public:
 	
 	// We don't delete against LLPreeditor, but compilers complain without this...
 	
-	virtual ~LLPreeditor() {};
+	virtual ~LLPreeditor() = default;
 
 	// Discard any preedit info. on this preeditor.
 	
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index cc665171dc..7500033240 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -237,8 +237,8 @@ protected:
 class LLSplashScreen
 {
 public:
-	LLSplashScreen() { };
-	virtual ~LLSplashScreen() { };
+	LLSplashScreen() = default;
+	virtual ~LLSplashScreen() = default;
 
 
 	// Call to display the window.
diff --git a/indra/llwindow/llwindowcallbacks.h b/indra/llwindow/llwindowcallbacks.h
index 3eea8ddea9..ee561ecde6 100644
--- a/indra/llwindow/llwindowcallbacks.h
+++ b/indra/llwindow/llwindowcallbacks.h
@@ -32,7 +32,7 @@ class LLWindow;
 class LLWindowCallbacks
 {
 public:
-	virtual ~LLWindowCallbacks() {}
+	virtual ~LLWindowCallbacks() = default;
 	virtual BOOL handleTranslatedKeyDown(KEY key,  MASK mask, BOOL repeated);
 	virtual BOOL handleTranslatedKeyUp(KEY key,  MASK mask);
 	virtual void handleScanKey(KEY key, BOOL key_down, BOOL key_up, BOOL key_level);
diff --git a/indra/llwindow/llwindowheadless.h b/indra/llwindow/llwindowheadless.h
index f225fa6624..8eaf0cdf34 100644
--- a/indra/llwindow/llwindowheadless.h
+++ b/indra/llwindow/llwindowheadless.h
@@ -107,8 +107,8 @@ private:
 class LLSplashScreenHeadless : public LLSplashScreen
 {
 public:
-	LLSplashScreenHeadless() {};
-	virtual ~LLSplashScreenHeadless() {};
+	LLSplashScreenHeadless() = default;
+	virtual ~LLSplashScreenHeadless() = default;
 
 	/*virtual*/ void showImpl() override {};
 	/*virtual*/ void updateImpl(const std::string& mesg) override {};
diff --git a/indra/llxml/llcontrol.h b/indra/llxml/llcontrol.h
index 352dac42a5..e04988627c 100644
--- a/indra/llxml/llcontrol.h
+++ b/indra/llxml/llcontrol.h
@@ -184,7 +184,7 @@ public:
 
 	struct ApplyFunctor
 	{
-		virtual ~ApplyFunctor() {};
+		virtual ~ApplyFunctor() = default;
 		virtual void apply(const std::string& name, LLControlVariable* control) = 0;
 	};
 	void applyToAll(ApplyFunctor* func);
diff --git a/indra/llxml/llxmlparser.cpp b/indra/llxml/llxmlparser.cpp
index ffd3f0572b..0420de19cd 100644
--- a/indra/llxml/llxmlparser.cpp
+++ b/indra/llxml/llxmlparser.cpp
@@ -277,8 +277,8 @@ class LLXmlDOMParser : public LLXmlParser
 {
 public:
 
-	LLXmlDOMParser() {}
-	virtual ~LLXmlDOMParser() {}
+	LLXmlDOMParser() = default;
+	virtual ~LLXmlDOMParser() = default;
 
 	void tabs()
 	{
diff --git a/indra/newview/llaccountingcostmanager.h b/indra/newview/llaccountingcostmanager.h
index e2c08faf62..cc0d3b4079 100644
--- a/indra/newview/llaccountingcostmanager.h
+++ b/indra/newview/llaccountingcostmanager.h
@@ -43,7 +43,7 @@ class LLAccountingCostObserver
 {
 public:
 	LLAccountingCostObserver() { mObserverHandle.bind(this); }
-	virtual ~LLAccountingCostObserver() {}
+	virtual ~LLAccountingCostObserver() = default;
 	virtual void onWeightsUpdate(const SelectionCost& selection_cost) = 0;
 	virtual void setErrorStatus(S32 status, const std::string& reason) = 0;
 	const LLHandle<LLAccountingCostObserver>& getObserverHandle() const { return mObserverHandle; }
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index a315fc5ce5..8e477355ab 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -257,8 +257,8 @@ std::map<std::string, std::string> LLAgent::sTeleportProgressMessages;
 class LLAgentFriendObserver : public LLFriendObserver
 {
 public:
-	LLAgentFriendObserver() {}
-	virtual ~LLAgentFriendObserver() {}
+	LLAgentFriendObserver() = default;
+	virtual ~LLAgentFriendObserver() = default;
 	void changed(U32 mask) override;
 };
 
diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h
index 1558001f3e..ae18594f2c 100644
--- a/indra/newview/llappearancemgr.h
+++ b/indra/newview/llappearancemgr.h
@@ -350,7 +350,7 @@ private:
 class LLRequestServerAppearanceUpdateOnDestroy: public LLInventoryCallback
 {
 public:
-	LLRequestServerAppearanceUpdateOnDestroy() {}
+	LLRequestServerAppearanceUpdateOnDestroy() = default;
 	~LLRequestServerAppearanceUpdateOnDestroy();
 
 	/* virtual */ void fire(const LLUUID& item_id) override {}
diff --git a/indra/newview/llavatarpropertiesprocessor.h b/indra/newview/llavatarpropertiesprocessor.h
index 0587965a6e..8b80f2e30d 100644
--- a/indra/newview/llavatarpropertiesprocessor.h
+++ b/indra/newview/llavatarpropertiesprocessor.h
@@ -190,7 +190,7 @@ struct LLAvatarInterests
 class LLAvatarPropertiesObserver
 {
 public:
-	virtual ~LLAvatarPropertiesObserver() {}
+	virtual ~LLAvatarPropertiesObserver() = default;
 	virtual void processProperties(void* data, EAvatarProcessorType type) = 0;
 };
 
diff --git a/indra/newview/llblocklist.h b/indra/newview/llblocklist.h
index 9800d52ba5..e0ceaa3129 100644
--- a/indra/newview/llblocklist.h
+++ b/indra/newview/llblocklist.h
@@ -48,7 +48,7 @@ class LLBlockList final : public LLFlatListViewEx, public LLMuteListObserver
 public:
 	struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
 	{
-		Params(){};
+		Params() = default;
 	};
 
 	LLBlockList(const Params& p);
@@ -112,8 +112,8 @@ class LLBlockListItemComparator : public LLFlatListView::ItemComparator
 	LOG_CLASS(LLBlockListItemComparator);
 
 public:
-	LLBlockListItemComparator() {};
-	virtual ~LLBlockListItemComparator() {};
+	LLBlockListItemComparator() = default;
+	virtual ~LLBlockListItemComparator() = default;
 
 	bool compare(const LLPanel* item1, const LLPanel* item2) const override;
 
@@ -131,8 +131,8 @@ class LLBlockListNameComparator : public LLBlockListItemComparator
 	LOG_CLASS(LLBlockListNameComparator);
 
 public:
-	LLBlockListNameComparator() {};
-	virtual ~LLBlockListNameComparator() {};
+	LLBlockListNameComparator() = default;
+	virtual ~LLBlockListNameComparator() = default;
 
 protected:
 
@@ -148,8 +148,8 @@ class LLBlockListNameTypeComparator : public LLBlockListItemComparator
 	LOG_CLASS(LLBlockListNameTypeComparator);
 
 public:
-	LLBlockListNameTypeComparator() {};
-	virtual ~LLBlockListNameTypeComparator() {};
+	LLBlockListNameTypeComparator() = default;
+	virtual ~LLBlockListNameTypeComparator() = default;
 
 protected:
 
diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h
index a8f8a7f004..09c440c276 100644
--- a/indra/newview/llcallingcard.h
+++ b/indra/newview/llcallingcard.h
@@ -54,7 +54,7 @@ public:
 		POWERS = 8,
 		ALL = 0xffffffff
 	};
-	virtual ~LLFriendObserver() {}
+	virtual ~LLFriendObserver() = default;
 	virtual void changed(U32 mask) = 0;
 };
 
@@ -71,7 +71,7 @@ struct LLBuddyInfo
 class LLRelationshipFunctor
 {
 public:
-	virtual ~LLRelationshipFunctor() {}
+	virtual ~LLRelationshipFunctor() = default;
 	virtual bool operator()(const LLUUID& buddy_id, LLRelationship* buddy) = 0;
 };
 	
@@ -209,8 +209,8 @@ private:
 class LLCollectProxyBuddies : public LLRelationshipFunctor
 {
 public:
-	LLCollectProxyBuddies() {}
-	virtual ~LLCollectProxyBuddies() {}
+	LLCollectProxyBuddies() = default;
+	virtual ~LLCollectProxyBuddies() = default;
 	bool operator()(const LLUUID& buddy_id, LLRelationship* buddy) override;
 	typedef std::set<LLUUID> buddy_list_t;
 	buddy_list_t mProxy;
@@ -220,8 +220,8 @@ public:
 class LLCollectMappableBuddies : public LLRelationshipFunctor
 {
 public:
-	LLCollectMappableBuddies() {}
-	virtual ~LLCollectMappableBuddies() {}
+	LLCollectMappableBuddies() = default;
+	virtual ~LLCollectMappableBuddies() = default;
 	bool operator()(const LLUUID& buddy_id, LLRelationship* buddy) override;
 	typedef std::map<LLUUID, std::string> buddy_map_t;
 	buddy_map_t mMappable;
diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h
index 72d03a3302..c03b24ed99 100644
--- a/indra/newview/llchannelmanager.h
+++ b/indra/newview/llchannelmanager.h
@@ -52,7 +52,7 @@ public:
 		LLUUID							id;
 		LLHandle<LLScreenChannelBase>	channel;
 
-		ChannelElem() { }
+		ChannelElem() = default;
 
 		ChannelElem(const ChannelElem &elem)
 		{
diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp
index 85e13de52d..49f80ff6d3 100644
--- a/indra/newview/llchatbar.cpp
+++ b/indra/newview/llchatbar.cpp
@@ -51,7 +51,7 @@ class LLChatBarGestureObserver : public LLGestureManagerObserver
 {
 public:
 	LLChatBarGestureObserver(LLChatBar* chat_barp) : mChatBar(chat_barp){}
-	virtual ~LLChatBarGestureObserver() {}
+	virtual ~LLChatBarGestureObserver() = default;
 	void changed() override { mChatBar->refreshGestures(); }
 private:
 	LLChatBar* mChatBar;
diff --git a/indra/newview/llchatitemscontainerctrl.h b/indra/newview/llchatitemscontainerctrl.h
index f0a1c472a3..0e170bdbf9 100644
--- a/indra/newview/llchatitemscontainerctrl.h
+++ b/indra/newview/llchatitemscontainerctrl.h
@@ -52,7 +52,7 @@ protected:
 // [/RLVa:KB]
 	{};
 public:
-	~LLFloaterIMNearbyChatToastPanel(){}
+	~LLFloaterIMNearbyChatToastPanel() = default;
 	
 	static LLFloaterIMNearbyChatToastPanel* createInstance();
 
diff --git a/indra/newview/llcofwearables.h b/indra/newview/llcofwearables.h
index e10e51729c..5a9670671e 100644
--- a/indra/newview/llcofwearables.h
+++ b/indra/newview/llcofwearables.h
@@ -51,8 +51,8 @@ public:
 	class LLCOFCallbacks
 	{
 	public:
-		LLCOFCallbacks() {};
-		virtual ~LLCOFCallbacks() {};
+		LLCOFCallbacks() = default;
+		virtual ~LLCOFCallbacks() = default;
 		
 		typedef std::function<void ()> cof_callback_t;
 
diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp
index 4652544823..ec6c5021ef 100644
--- a/indra/newview/llcommandlineparser.cpp
+++ b/indra/newview/llcommandlineparser.cpp
@@ -108,7 +108,7 @@ public:
         mLastOption(false)
         {}
       
-    virtual ~LLCLPValue() {};
+    virtual ~LLCLPValue() = default;
 
     void setMinTokens(unsigned c) 
     {
diff --git a/indra/newview/llconversationlog.cpp b/indra/newview/llconversationlog.cpp
index 57dc3f5e98..6e2cb62bf8 100644
--- a/indra/newview/llconversationlog.cpp
+++ b/indra/newview/llconversationlog.cpp
@@ -165,8 +165,8 @@ void LLConversation::setListenIMFloaterOpened()
 class LLConversationLogFriendObserver : public LLFriendObserver
 {
 public:
-	LLConversationLogFriendObserver() {}
-	virtual ~LLConversationLogFriendObserver() {}
+	LLConversationLogFriendObserver() = default;
+	virtual ~LLConversationLogFriendObserver() = default;
 	void changed(U32 mask) override;
 };
 
diff --git a/indra/newview/llconversationlog.h b/indra/newview/llconversationlog.h
index 3e62430a15..89e8c2dd2e 100644
--- a/indra/newview/llconversationlog.h
+++ b/indra/newview/llconversationlog.h
@@ -214,7 +214,7 @@ public:
 			CHANGED_OfflineIMs = 3
 		};
 
-	virtual ~LLConversationLogObserver(){}
+	virtual ~LLConversationLogObserver() = default;
 	virtual void changed() = 0;
 	virtual void changed(const LLUUID& session_id, U32 mask){};
 };
diff --git a/indra/newview/llconversationloglist.h b/indra/newview/llconversationloglist.h
index 8c1a04e744..eb3acf3e3d 100644
--- a/indra/newview/llconversationloglist.h
+++ b/indra/newview/llconversationloglist.h
@@ -51,7 +51,7 @@ public:
 
 	struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
 	{
-		Params(){};
+		Params() = default;
 	};
 
 	LLConversationLogList(const Params& p);
@@ -114,8 +114,8 @@ class LLConversationLogListItemComparator : public LLFlatListView::ItemComparato
 	LOG_CLASS(LLConversationLogListItemComparator);
 
 public:
-	LLConversationLogListItemComparator() {};
-	virtual ~LLConversationLogListItemComparator() {};
+	LLConversationLogListItemComparator() = default;
+	virtual ~LLConversationLogListItemComparator() = default;
 
 	bool compare(const LLPanel* item1, const LLPanel* item2) const override;
 
@@ -129,8 +129,8 @@ class LLConversationLogListNameComparator : public LLConversationLogListItemComp
 	LOG_CLASS(LLConversationLogListNameComparator);
 
 public:
-	LLConversationLogListNameComparator() {};
-	virtual ~LLConversationLogListNameComparator() {};
+	LLConversationLogListNameComparator() = default;
+	virtual ~LLConversationLogListNameComparator() = default;
 
 protected:
 
@@ -142,8 +142,8 @@ class LLConversationLogListDateComparator : public LLConversationLogListItemComp
 	LOG_CLASS(LLConversationLogListDateComparator);
 
 public:
-	LLConversationLogListDateComparator() {};
-	virtual ~LLConversationLogListDateComparator() {};
+	LLConversationLogListDateComparator() = default;
+	virtual ~LLConversationLogListDateComparator() = default;
 
 protected:
 
diff --git a/indra/newview/llconversationmodel.h b/indra/newview/llconversationmodel.h
index b9dd0db1f7..b7c624acfd 100644
--- a/indra/newview/llconversationmodel.h
+++ b/indra/newview/llconversationmodel.h
@@ -244,7 +244,7 @@ public:
 	static constexpr U32 SO_DEFAULT = (SO_SESSION_TYPE << 16) | (SO_DATE);
 	
 	LLConversationFilter() { mEmpty.clear(); }
-	~LLConversationFilter() {}
+	~LLConversationFilter() = default;
 		
 	bool 				check(const LLFolderViewModelItem* item) override { return true; }
 	bool				checkFolder(const LLFolderViewModelItem* folder) const override { return true; }
diff --git a/indra/newview/lldesktopnotificationsnope.h b/indra/newview/lldesktopnotificationsnope.h
index 38858c2133..b2c0fbc558 100644
--- a/indra/newview/lldesktopnotificationsnope.h
+++ b/indra/newview/lldesktopnotificationsnope.h
@@ -39,7 +39,7 @@ public:
 	void sendNotification(const std::string& title, const std::string& body, bool play_sound) override;
     bool isImplemented() override { return false; }
 
-    LLDesktopNotificationsNope() {}
+    LLDesktopNotificationsNope() = default;
 };
 
 #endif // LL_DESKTOPNOTIFICATIONS_NOPE_H
diff --git a/indra/newview/lldrawpoolbump.h b/indra/newview/lldrawpoolbump.h
index e6a95eee0f..5574e6f4de 100644
--- a/indra/newview/lldrawpoolbump.h
+++ b/indra/newview/lldrawpoolbump.h
@@ -138,7 +138,7 @@ struct LLBumpImageEntry;
 class LLBumpImageList
 {
 public:
-	LLBumpImageList() {}
+	LLBumpImageList() = default;
 	~LLBumpImageList();
 
 	void		init();
diff --git a/indra/newview/lldroptarget.h b/indra/newview/lldroptarget.h
index d97763bb96..3ec072b6d3 100644
--- a/indra/newview/lldroptarget.h
+++ b/indra/newview/lldroptarget.h
@@ -45,7 +45,7 @@ public:
 	};
 	
 	LLDropTarget(const Params&);
-	~LLDropTarget() {};
+	~LLDropTarget() = default;
 	
 	void doDrop(EDragAndDropType cargo_type, void* cargo_data);
 	
diff --git a/indra/newview/llenvmanager.h b/indra/newview/llenvmanager.h
index 2a59411b34..d981a86adb 100644
--- a/indra/newview/llenvmanager.h
+++ b/indra/newview/llenvmanager.h
@@ -145,7 +145,7 @@ public:
 		mSkyMap(std::move(skyMap)),
 		mDayTime(dayTime)
 	{}
-	~LLEnvironmentSettings() {}
+	~LLEnvironmentSettings() = default;
 
 	void saveParams(const LLSD& dayCycle, const LLSD& skyMap, const LLSD& waterParams, F64 dayTime)
 	{
diff --git a/indra/newview/lleventnotifier.h b/indra/newview/lleventnotifier.h
index 408f96f2ad..68c110840c 100644
--- a/indra/newview/lleventnotifier.h
+++ b/indra/newview/lleventnotifier.h
@@ -50,7 +50,7 @@ typedef struct event_st{
 	U32 flags = 0;
 	event_st(U32 id, F64 epoch, std::string date_str, std::string name)
 		: eventId(id), eventEpoch(epoch), eventDateStr(std::move(date_str)), eventName(std::move(name)){}
-	event_st(){}
+	event_st() = default;
 } LLEventStruct;
 
 class LLEventNotifier
diff --git a/indra/newview/llfloaterconversationlog.h b/indra/newview/llfloaterconversationlog.h
index e6613a3d85..75cc77b75e 100644
--- a/indra/newview/llfloaterconversationlog.h
+++ b/indra/newview/llfloaterconversationlog.h
@@ -35,7 +35,7 @@ class LLFloaterConversationLog final : public LLFloater
 public:
 
 	LLFloaterConversationLog(const LLSD& key);
-	virtual ~LLFloaterConversationLog(){};
+	virtual ~LLFloaterConversationLog() = default;
 
 	BOOL postBuild() override;
 
diff --git a/indra/newview/llfloaterdisplayname.cpp b/indra/newview/llfloaterdisplayname.cpp
index c6b1f21631..6c2ce79e73 100644
--- a/indra/newview/llfloaterdisplayname.cpp
+++ b/indra/newview/llfloaterdisplayname.cpp
@@ -44,7 +44,7 @@ class LLFloaterDisplayName final : public LLFloater
 {
 public:
 	LLFloaterDisplayName(const LLSD& key);
-	virtual ~LLFloaterDisplayName() { }
+	virtual ~LLFloaterDisplayName() = default;
 	/*virtual*/	BOOL	postBuild() override;
 	void onSave();
 	void onReset();
diff --git a/indra/newview/llfloatermessagelog.h b/indra/newview/llfloatermessagelog.h
index 973989fe0c..a1f6edcf96 100644
--- a/indra/newview/llfloatermessagelog.h
+++ b/indra/newview/llfloatermessagelog.h
@@ -43,7 +43,7 @@ class LLMessageLogFilter
 {
 public:
     LLMessageLogFilter(const std::string& filter);
-	~LLMessageLogFilter() {}
+	~LLMessageLogFilter() = default;
 	
 	void set(const std::string& filter);
 	bool empty() const { return mPositiveNames.empty() && mNegativeNames.empty(); }
@@ -153,7 +153,7 @@ protected:
 	{
 	public:
 		LLMessageLogNetMan(LLFloaterMessageLog* parent);
-		~LLMessageLogNetMan() {}
+		~LLMessageLogNetMan() = default;
 		
 	private:
 		BOOL tick() override;
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index a2d9bc4df5..943790a901 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -2253,7 +2253,7 @@ public:
 		mEventTimer.stop();
 	}
 
-	virtual ~Updater(){}
+	virtual ~Updater() = default;
 
 	void update(const LLSD& new_value)
 	{
diff --git a/indra/newview/llfloateruipreview.cpp b/indra/newview/llfloateruipreview.cpp
index 8963ed2c19..5b6efd5f64 100644
--- a/indra/newview/llfloateruipreview.cpp
+++ b/indra/newview/llfloateruipreview.cpp
@@ -105,7 +105,7 @@ class LLOverlapPanel final : public LLPanel
 public:
 	struct Params : public LLInitParam::Block<Params, LLPanel::Params>
 	{
-		Params() {}
+		Params() = default;
 	};
 	LLOverlapPanel(Params p = Params()) : LLPanel(p),
 		mLastClickedElement(nullptr),
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index aa61649204..8bd01f7c40 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -198,8 +198,8 @@ LLMapTrackAvatarHandler gMapTrackAvatar;
 class LLMapInventoryObserver : public LLInventoryObserver
 {
 public:
-	LLMapInventoryObserver() {}
-	virtual ~LLMapInventoryObserver() {}
+	LLMapInventoryObserver() = default;
+	virtual ~LLMapInventoryObserver() = default;
 	void changed(U32 mask) override;
 };
 
@@ -216,8 +216,8 @@ void LLMapInventoryObserver::changed(U32 mask)
 class LLMapFriendObserver : public LLFriendObserver
 {
 public:
-	LLMapFriendObserver() {}
-	virtual ~LLMapFriendObserver() {}
+	LLMapFriendObserver() = default;
+	virtual ~LLMapFriendObserver() = default;
 	void changed(U32 mask) override;
 };
 
diff --git a/indra/newview/llfollowcam.cpp b/indra/newview/llfollowcam.cpp
index 10c40f7bf9..1d2d136e46 100644
--- a/indra/newview/llfollowcam.cpp
+++ b/indra/newview/llfollowcam.cpp
@@ -132,8 +132,6 @@ LLFollowCamParams::LLFollowCamParams()
 
 }
 
-LLFollowCamParams::~LLFollowCamParams() { }
-
 //---------------------------------------------------------
 // buncho set methods
 //---------------------------------------------------------
diff --git a/indra/newview/llfollowcam.h b/indra/newview/llfollowcam.h
index 13c85f0f23..a26175700a 100644
--- a/indra/newview/llfollowcam.h
+++ b/indra/newview/llfollowcam.h
@@ -51,7 +51,7 @@ class LLFollowCamParams
 {
 public:
 	LLFollowCamParams();
-	virtual ~LLFollowCamParams();
+	virtual ~LLFollowCamParams() = default;
 	
 	//--------------------------------------
 	// setty setty set set
diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp
index 0314558454..93e6e025c1 100644
--- a/indra/newview/llfriendcard.cpp
+++ b/indra/newview/llfriendcard.cpp
@@ -107,7 +107,7 @@ class LLFindAgentCallingCard : public LLInventoryCollectFunctor
 {
 public:
 	LLFindAgentCallingCard() : mIsAgentCallingCardFound(false) {}
-	virtual ~LLFindAgentCallingCard() {}
+	virtual ~LLFindAgentCallingCard() = default;
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override;
 	bool isAgentCallingCardFound() const { return mIsAgentCallingCardFound; }
 
diff --git a/indra/newview/llgesturemgr.h b/indra/newview/llgesturemgr.h
index 1a7db255eb..cac11ee2bd 100644
--- a/indra/newview/llgesturemgr.h
+++ b/indra/newview/llgesturemgr.h
@@ -41,7 +41,7 @@ class LLVFS;
 class LLGestureManagerObserver
 {
 public:
-	virtual ~LLGestureManagerObserver() { };
+	virtual ~LLGestureManagerObserver() = default;
 	virtual void changed() = 0;
 };
 
diff --git a/indra/newview/llgrouplist.cpp b/indra/newview/llgrouplist.cpp
index 0a7cb13403..e513c7337a 100644
--- a/indra/newview/llgrouplist.cpp
+++ b/indra/newview/llgrouplist.cpp
@@ -53,7 +53,7 @@ S32 LLGroupListItem::sIconWidth = 0;
 class LLGroupComparator : public LLFlatListView::ItemComparator
 {
 public:
-	LLGroupComparator() {};
+	LLGroupComparator() = default;
 
 	/** Returns true if item1 < item2, false otherwise */
 	/*virtual*/ bool compare(const LLPanel* item1, const LLPanel* item2) const override
diff --git a/indra/newview/llgrouplist.h b/indra/newview/llgrouplist.h
index 7f95979e34..46821f7d3d 100644
--- a/indra/newview/llgrouplist.h
+++ b/indra/newview/llgrouplist.h
@@ -50,7 +50,7 @@ class LLGroupList final : public LLFlatListViewEx, public LLOldEvents::LLSimpleL
 public:
 	struct Params : public LLInitParam::Block<Params, LLFlatListViewEx::Params>
 	{
-		Params(){};
+		Params() = default;
 	};
 
 	LLGroupList(const Params& p);
diff --git a/indra/newview/llgroupmgr.h b/indra/newview/llgroupmgr.h
index ff14e82c1d..a016a49200 100644
--- a/indra/newview/llgroupmgr.h
+++ b/indra/newview/llgroupmgr.h
@@ -56,7 +56,7 @@ class LLGroupMgrObserver
 public:
 	LLGroupMgrObserver(const LLUUID& id) : mID(id){};
 	LLGroupMgrObserver() : mID(LLUUID::null){};
-	virtual ~LLGroupMgrObserver(){};
+	virtual ~LLGroupMgrObserver() = default;
 	virtual void changed(LLGroupChange gc) = 0;
 	const LLUUID& getID() const { return mID; }
 
@@ -67,7 +67,7 @@ protected:
 class LLParticularGroupObserver
 {
 public:
-	virtual ~LLParticularGroupObserver(){}
+	virtual ~LLParticularGroupObserver() = default;
 	virtual void changed(const LLUUID& group_id, LLGroupChange gc) = 0;
 };
 
diff --git a/indra/newview/llhttpretrypolicy.h b/indra/newview/llhttpretrypolicy.h
index 7e36e3905c..3b2234fbaf 100644
--- a/indra/newview/llhttpretrypolicy.h
+++ b/indra/newview/llhttpretrypolicy.h
@@ -41,9 +41,9 @@
 class LLHTTPRetryPolicy: public LLThreadSafeRefCount
 {
 public:
-	LLHTTPRetryPolicy() {}
+	LLHTTPRetryPolicy() = default;
 
-	virtual ~LLHTTPRetryPolicy() {}
+	virtual ~LLHTTPRetryPolicy() = default;
 	// Call after a sucess to reset retry state.
 
 	virtual void onSuccess() = 0;
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index 0f44e3e613..fc8f41c055 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -49,7 +49,7 @@ class LLSessionTimeoutTimer : public LLEventTimer
 {
 public:
 	LLSessionTimeoutTimer(const LLUUID& session_id, F32 period) : LLEventTimer(period), mSessionId(session_id) {}
-	virtual ~LLSessionTimeoutTimer() {};
+	virtual ~LLSessionTimeoutTimer() = default;
 	/* virtual */ BOOL tick() override;
 
 private:
@@ -302,7 +302,7 @@ private:
 class LLIMSessionObserver
 {
 public:
-	virtual ~LLIMSessionObserver() {}
+	virtual ~LLIMSessionObserver() = default;
 	virtual void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg) = 0;
     virtual void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) = 0;
 	virtual void sessionVoiceOrIMStarted(const LLUUID& session_id) = 0;
diff --git a/indra/newview/llinspectremoteobject.cpp b/indra/newview/llinspectremoteobject.cpp
index 3e7a006d1a..0d73e25e31 100644
--- a/indra/newview/llinspectremoteobject.cpp
+++ b/indra/newview/llinspectremoteobject.cpp
@@ -53,7 +53,7 @@ class LLInspectRemoteObject final : public LLInspect
 	
 public:
 	LLInspectRemoteObject(const LLSD& object_id);
-	virtual ~LLInspectRemoteObject() {};
+	virtual ~LLInspectRemoteObject() = default;
 
 	/*virtual*/ BOOL postBuild(void) override;
 	/*virtual*/ void onOpen(const LLSD& avatar_id) override;
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 5a3645a66a..fa376acdd1 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -144,7 +144,7 @@ class LLRightClickInventoryFetchDescendentsObserver : public LLInventoryFetchDes
 {
 public:
 	LLRightClickInventoryFetchDescendentsObserver(const uuid_vec_t& ids) : LLInventoryFetchDescendentsObserver(ids) {}
-	~LLRightClickInventoryFetchDescendentsObserver() {}
+	~LLRightClickInventoryFetchDescendentsObserver() = default;
 	virtual void execute(bool clear_observer = false);
 
     void done() override
@@ -158,7 +158,7 @@ class LLRightClickInventoryFetchObserver : public LLInventoryFetchItemsObserver
 {
 public:
 	LLRightClickInventoryFetchObserver(const uuid_vec_t& ids) : LLInventoryFetchItemsObserver(ids) { };
-	~LLRightClickInventoryFetchObserver() {}
+	~LLRightClickInventoryFetchObserver() = default;
 	void execute(bool clear_observer = false)
 	{
 		if (clear_observer)
@@ -3129,7 +3129,7 @@ class LLInventoryCopyAndWearObserver : public LLInventoryObserver
 public:
 	LLInventoryCopyAndWearObserver(const LLUUID& cat_id, int count, bool folder_added=false, bool replace=false) :
 		mCatID(cat_id), mContentsCount(count), mFolderAdded(folder_added), mReplace(replace){}
-	virtual ~LLInventoryCopyAndWearObserver() {}
+	virtual ~LLInventoryCopyAndWearObserver() = default;
     void changed(U32 mask) override;
 
 protected:
@@ -7362,7 +7362,7 @@ public:
 		}
 		LLInvFVBridgeAction::doIt();
 	}
-	virtual ~LLCallingCardBridgeAction(){}
+	virtual ~LLCallingCardBridgeAction() = default;
 protected:
 	LLCallingCardBridgeAction(const LLUUID& id,LLInventoryModel* model) : LLInvFVBridgeAction(id,model) {}
 
@@ -7382,7 +7382,7 @@ public:
 		}
 		LLInvFVBridgeAction::doIt();
 	}
-	virtual ~LLNotecardBridgeAction(){}
+	virtual ~LLNotecardBridgeAction() = default;
 protected:
 	LLNotecardBridgeAction(const LLUUID& id,LLInventoryModel* model) : LLInvFVBridgeAction(id,model) {}
 };
@@ -7401,7 +7401,7 @@ public:
 		}
 		LLInvFVBridgeAction::doIt();		
 	}
-	virtual ~LLGestureBridgeAction(){}
+	virtual ~LLGestureBridgeAction() = default;
 protected:
 	LLGestureBridgeAction(const LLUUID& id,LLInventoryModel* model) : LLInvFVBridgeAction(id,model) {}
 };
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index f58a7d63ad..f51d1ed2bc 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -73,7 +73,7 @@ public:
 									   LLFolderView* root,
 									   const LLUUID& uuid,
 									   U32 flags = 0x00);
-	virtual ~LLInvFVBridge() {}
+	virtual ~LLInvFVBridge() = default;
 
 	bool canShare() const;
 	bool canListOnMarketplace() const;
@@ -209,8 +209,8 @@ protected:
 class LLInventoryFolderViewModelBuilder
 {
 public:
- 	LLInventoryFolderViewModelBuilder() {}
- 	virtual ~LLInventoryFolderViewModelBuilder() {}
+ 	LLInventoryFolderViewModelBuilder() = default;
+ 	virtual ~LLInventoryFolderViewModelBuilder() = default;
 	virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
 										LLAssetType::EType actual_asset_type,
 										LLInventoryType::EType inv_type,
@@ -632,7 +632,7 @@ public:
 	static void doAction(const LLUUID& uuid, LLInventoryModel* model);
 
 	virtual void doIt() {};
-	virtual ~LLInvFVBridgeAction() {} // need this because of warning on OSX
+	virtual ~LLInvFVBridgeAction() = default; // need this because of warning on OSX
 protected:
 	LLInvFVBridgeAction(const LLUUID& id, LLInventoryModel* model) :
 		mUUID(id), mModel(model) {}
@@ -669,7 +669,7 @@ public:
 class LLRecentInventoryBridgeBuilder : public LLInventoryFolderViewModelBuilder
 {
 public:
-	LLRecentInventoryBridgeBuilder() {}
+	LLRecentInventoryBridgeBuilder() = default;
 	// Overrides FolderBridge for Recent Inventory Panel.
 	// It use base functionality for bridges other than FolderBridge.
 	LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
diff --git a/indra/newview/llinventoryfilter.h b/indra/newview/llinventoryfilter.h
index 3d1832720c..4701418bbb 100644
--- a/indra/newview/llinventoryfilter.h
+++ b/indra/newview/llinventoryfilter.h
@@ -180,7 +180,7 @@ public:
 									
 	LLInventoryFilter(const Params& p = Params());
 	LLInventoryFilter(const LLInventoryFilter& other) { *this = other; }
-	virtual ~LLInventoryFilter() {}
+	virtual ~LLInventoryFilter() = default;
 
 	// +-------------------------------------------------------------------+
 	// + Parameters
diff --git a/indra/newview/llinventoryfunctions.h b/indra/newview/llinventoryfunctions.h
index 1a6ecbeb52..767ec8773b 100644
--- a/indra/newview/llinventoryfunctions.h
+++ b/indra/newview/llinventoryfunctions.h
@@ -110,7 +110,7 @@ S32 compute_stock_count(LLUUID cat_uuid, bool force_count = false);
 class LLInventoryCollectFunctor
 {
 public:
-	virtual ~LLInventoryCollectFunctor(){};
+	virtual ~LLInventoryCollectFunctor() = default;
 	virtual bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) = 0;
 
 	static bool itemTransferCommonlyAllowed(const LLInventoryItem* item);
@@ -127,7 +127,7 @@ class LLAssetIDMatches : public LLInventoryCollectFunctor
 {
 public:
 	LLAssetIDMatches(const LLUUID& asset_id) : mAssetID(asset_id) {}
-	virtual ~LLAssetIDMatches() {}
+	virtual ~LLAssetIDMatches() = default;
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override;
 	
 protected:
@@ -144,7 +144,7 @@ class LLLinkedItemIDMatches : public LLInventoryCollectFunctor
 {
 public:
 	LLLinkedItemIDMatches(const LLUUID& item_id) : mBaseItemID(item_id) {}
-	virtual ~LLLinkedItemIDMatches() {}
+	virtual ~LLLinkedItemIDMatches() = default;
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override;
 	
 protected:
@@ -162,7 +162,7 @@ class LLIsType : public LLInventoryCollectFunctor
 {
 public:
 	LLIsType(LLAssetType::EType type) : mType(type) {}
-	virtual ~LLIsType() {}
+	virtual ~LLIsType() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 protected:
@@ -179,7 +179,7 @@ class LLIsNotType : public LLInventoryCollectFunctor
 {
 public:
 	LLIsNotType(LLAssetType::EType type) : mType(type) {}
-	virtual ~LLIsNotType() {}
+	virtual ~LLIsNotType() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 protected:
@@ -198,7 +198,7 @@ class LLIsOfAssetType : public LLInventoryCollectFunctor
 {
 public:
 	LLIsOfAssetType(LLAssetType::EType type) : mType(type) {}
-	virtual ~LLIsOfAssetType() {}
+	virtual ~LLIsOfAssetType() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 protected:
@@ -270,7 +270,7 @@ class LLParticularBuddyCollector : public LLInventoryCollectFunctor
 {
 public:
 	LLParticularBuddyCollector(const LLUUID& id) : mBuddyID(id) {}
-	virtual ~LLParticularBuddyCollector() {}
+	virtual ~LLParticularBuddyCollector() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 protected:
@@ -398,7 +398,7 @@ class LLFindWearablesOfType : public LLInventoryCollectFunctor
 {
 public:
 	LLFindWearablesOfType(LLWearableType::EType type) : mWearableType(type) {}
-	virtual ~LLFindWearablesOfType() {}
+	virtual ~LLFindWearablesOfType() = default;
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override;
 	void setType(LLWearableType::EType type);
 
@@ -411,7 +411,7 @@ class LLFindActualWearablesOfType : public LLFindWearablesOfType
 {
 public:
 	LLFindActualWearablesOfType(LLWearableType::EType type) : LLFindWearablesOfType(type) {}
-	virtual ~LLFindActualWearablesOfType() {}
+	virtual ~LLFindActualWearablesOfType() = default;
 
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override
 	{
@@ -425,7 +425,7 @@ class LLIsTypeActual : public LLIsType
 {
 public:
 	LLIsTypeActual(LLAssetType::EType type) : LLIsType(type) {}
-	virtual ~LLIsTypeActual() {}
+	virtual ~LLIsTypeActual() = default;
 
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override
 	{
diff --git a/indra/newview/llinventorylistitem.h b/indra/newview/llinventorylistitem.h
index 558b2b95d3..02195bd20e 100644
--- a/indra/newview/llinventorylistitem.h
+++ b/indra/newview/llinventorylistitem.h
@@ -155,7 +155,7 @@ public:
 	void setSeparatorVisible(bool visible) { mSeparatorVisible = visible; }
 	void resetHighlight() { mHovered = FALSE; }
 
-	virtual ~LLPanelInventoryListItemBase(){}
+	virtual ~LLPanelInventoryListItemBase() = default;
 
 protected:
 
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 8019e53272..92cc17dda5 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -97,7 +97,7 @@ class LLCanCache : public LLInventoryCollectFunctor
 {
 public:
 	LLCanCache(LLInventoryModel* model) : mModel(model) {}
-	virtual ~LLCanCache() {}
+	virtual ~LLCanCache() = default;
 	bool operator()(LLInventoryCategory* cat, LLInventoryItem* item) override;
 protected:
 	LLInventoryModel* mModel;
@@ -796,7 +796,7 @@ bool LLInventoryModel::hasMatchingDirectDescendent(const LLUUID& cat_id,
 class LLAlwaysCollect : public LLInventoryCollectFunctor
 {
 public:
-	virtual ~LLAlwaysCollect() {}
+	virtual ~LLAlwaysCollect() = default;
 
 	bool operator()(LLInventoryCategory* cat,
 	                        LLInventoryItem* item) override
@@ -2688,7 +2688,7 @@ void LLInventoryModel::createCommonSystemCategories()
 
 struct LLUUIDAndName
 {
-	LLUUIDAndName() {}
+	LLUUIDAndName() = default;
 	LLUUIDAndName(const LLUUID& id, std::string name);
 	bool operator==(const LLUUIDAndName& rhs) const;
 	bool operator<(const LLUUIDAndName& rhs) const;
diff --git a/indra/newview/llinventoryobserver.h b/indra/newview/llinventoryobserver.h
index efaf4a2c9b..b5e992a077 100644
--- a/indra/newview/llinventoryobserver.h
+++ b/indra/newview/llinventoryobserver.h
@@ -191,7 +191,7 @@ private:
 class LLInventoryAddedObserver : public LLInventoryObserver
 {
 public:
-	LLInventoryAddedObserver() {}
+	LLInventoryAddedObserver() = default;
 	/*virtual*/ void changed(U32 mask) override;
 
 protected:
@@ -231,7 +231,7 @@ protected:
 class LLInventoryCompletionObserver : public LLInventoryObserver
 {
 public:
-	LLInventoryCompletionObserver() {}
+	LLInventoryCompletionObserver() = default;
 	/*virtual*/ void changed(U32 mask) override;
 
 	void watchItem(const LLUUID& id);
@@ -255,7 +255,7 @@ class LLInventoryCategoriesObserver : public LLInventoryObserver
 public:
 	typedef std::function<void()> callback_t;
 
-	LLInventoryCategoriesObserver() {};
+	LLInventoryCategoriesObserver() = default;
 	void changed(U32 mask) override;
 
 	/**
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index e27eaeb9cf..5c9b12e14a 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -81,7 +81,7 @@ class LLInventoryPanelObserver : public LLInventoryObserver
 {
 public:
 	LLInventoryPanelObserver(LLInventoryPanel* ip) : mIP(ip) {}
-	virtual ~LLInventoryPanelObserver() {}
+	virtual ~LLInventoryPanelObserver() = default;
 
 	void changed(U32 mask) override
 	{
diff --git a/indra/newview/lllocationhistory.h b/indra/newview/lllocationhistory.h
index 2c17bfcb60..e0c7609838 100644
--- a/indra/newview/lllocationhistory.h
+++ b/indra/newview/lllocationhistory.h
@@ -41,7 +41,7 @@ enum ELocationType {
 class LLLocationHistoryItem {
 			
 public:
-	LLLocationHistoryItem(){}
+	LLLocationHistoryItem() = default;
 	LLLocationHistoryItem(std::string typed_location, 
 			LLVector3d global_position, std::string tooltip,ELocationType type ):
 		mGlobalPos(global_position),		
diff --git a/indra/newview/lllogchat.h b/indra/newview/lllogchat.h
index 109ebe7a7b..3df460c051 100644
--- a/indra/newview/lllogchat.h
+++ b/indra/newview/lllogchat.h
@@ -153,7 +153,7 @@ class LLChatLogFormatter
 {
 public:
 	LLChatLogFormatter(LLSD im) : mIM(std::move(im)) {}
-	virtual ~LLChatLogFormatter() {};
+	virtual ~LLChatLogFormatter() = default;
 
 	friend std::ostream& operator<<(std::ostream& str, const LLChatLogFormatter& formatter)
 	{
@@ -194,8 +194,8 @@ public:
 	static bool parse(std::string& raw, LLSD& im, const LLSD& parse_params = LLSD());
 
 protected:
-	LLChatLogParser();
-	virtual ~LLChatLogParser() {};
+	LLChatLogParser() = default;
+	virtual ~LLChatLogParser() = default;
 };
 
 
diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp
index ecca7ee97f..8c815b96c7 100644
--- a/indra/newview/lllogininstance.cpp
+++ b/indra/newview/lllogininstance.cpp
@@ -67,7 +67,7 @@ const F32 LOGIN_DNS_TIMEOUT_FACTOR = 0.9f; // make DNS wait shorter then retry t
 
 class LLLoginInstance::Disposable {
 public:
-	virtual ~Disposable() {}
+	virtual ~Disposable() = default;
 };
 
 static const char * const TOS_REPLY_PUMP = "lllogininstance_tos_callback";
diff --git a/indra/newview/llmarketplacefunctions.cpp b/indra/newview/llmarketplacefunctions.cpp
index 3b80c41e8f..68f8b1c72d 100644
--- a/indra/newview/llmarketplacefunctions.cpp
+++ b/indra/newview/llmarketplacefunctions.cpp
@@ -601,8 +601,8 @@ void LLMarketplaceInventoryImporter::updateImport()
 class LLMarketplaceInventoryObserver : public LLInventoryObserver
 {
 public:
-	LLMarketplaceInventoryObserver() {}
-	virtual ~LLMarketplaceInventoryObserver() {}
+	LLMarketplaceInventoryObserver() = default;
+	virtual ~LLMarketplaceInventoryObserver() = default;
 	void changed(U32 mask) override;
 };
 
diff --git a/indra/newview/llmutelist.h b/indra/newview/llmutelist.h
index ae41a2f588..f98dd3adc2 100644
--- a/indra/newview/llmutelist.h
+++ b/indra/newview/llmutelist.h
@@ -172,7 +172,7 @@ private:
 class LLMuteListObserver
 {
 public:
-	virtual ~LLMuteListObserver() { }
+	virtual ~LLMuteListObserver() = default;
 	virtual void onChange() = 0;
 	virtual void onChangeDetailed(const LLMute& ) { }
 };
diff --git a/indra/newview/llnotificationhandler.h b/indra/newview/llnotificationhandler.h
index ec5970a22a..73742505d8 100644
--- a/indra/newview/llnotificationhandler.h
+++ b/indra/newview/llnotificationhandler.h
@@ -66,7 +66,7 @@ namespace LLNotificationsUI
 class LLEventHandler
 {
 public:
-	virtual ~LLEventHandler() {};
+	virtual ~LLEventHandler() = default;
 
 protected:
 	virtual void onDeleteToast(LLToast* toast) {}
@@ -91,7 +91,7 @@ class LLNotificationHandler : public LLEventHandler, public LLNotificationChanne
 {
 public:
 	LLNotificationHandler(const std::string& name, const std::string& notification_type, const std::string& parentName);
-	virtual ~LLNotificationHandler() {};
+	virtual ~LLNotificationHandler() = default;
 
 	// base interface functions
 	void onAdd(LLNotificationPtr p) override { processNotification(p); }
@@ -106,14 +106,14 @@ class LLSystemNotificationHandler : public LLNotificationHandler
 {
 public:
 	LLSystemNotificationHandler(const std::string& name, const std::string& notification_type);
-	virtual ~LLSystemNotificationHandler() {};
+	virtual ~LLSystemNotificationHandler() = default;
 };
 
 class LLCommunicationNotificationHandler : public LLNotificationHandler
 {
 public:
 	LLCommunicationNotificationHandler(const std::string& name, const std::string& notification_type);
-	virtual ~LLCommunicationNotificationHandler() {};
+	virtual ~LLCommunicationNotificationHandler() = default;
 };
 
 /**
@@ -122,7 +122,7 @@ public:
 class LLChatHandler : public LLEventHandler
 {
 public:
-	virtual ~LLChatHandler() {};
+	virtual ~LLChatHandler() = default;
 
 	virtual void processChat(const LLChat& chat_msg, const LLSD &args)=0;
 };
@@ -269,7 +269,7 @@ class LLBrowserNotification : public LLSystemNotificationHandler
 {
 public:
 	LLBrowserNotification();
-	virtual ~LLBrowserNotification() {}
+	virtual ~LLBrowserNotification() = default;
 
 	bool processNotification(const LLNotificationPtr& p) override;
 
diff --git a/indra/newview/lloutfitgallery.h b/indra/newview/lloutfitgallery.h
index aadaf3fcb6..a4ab621bc9 100644
--- a/indra/newview/lloutfitgallery.h
+++ b/indra/newview/lloutfitgallery.h
@@ -48,8 +48,8 @@ class LLOutfitGalleryContextMenu;
 class LLUpdateGalleryOnPhotoLinked : public LLInventoryCallback
 {
 public:
-    LLUpdateGalleryOnPhotoLinked(){}
-    virtual ~LLUpdateGalleryOnPhotoLinked(){}
+    LLUpdateGalleryOnPhotoLinked() = default;
+    virtual ~LLUpdateGalleryOnPhotoLinked() = default;
     /* virtual */ void fire(const LLUUID& inv_item_id) override;
 private:
 };
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 9be65ddb5c..9695833d07 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -2236,7 +2236,7 @@ void LLPanelFace::LLSelectedTEMaterial::getCurrentDiffuseAlphaMode(U8& diffuse_a
 	{
 		LLSelectedTEGetDiffuseAlphaMode() : _isAlpha(false) {}
 		LLSelectedTEGetDiffuseAlphaMode(bool diffuse_texture_has_alpha) : _isAlpha(diffuse_texture_has_alpha) {}
-		virtual ~LLSelectedTEGetDiffuseAlphaMode() {}
+		virtual ~LLSelectedTEGetDiffuseAlphaMode() = default;
 
 		U8 get(LLViewerObject* object, S32 face) override
 		{
diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h
index 598adf5874..2bd087c48d 100644
--- a/indra/newview/llpanelface.h
+++ b/indra/newview/llpanelface.h
@@ -64,7 +64,7 @@ class LLMaterialEditFunctor
 {
 public:
 	LLMaterialEditFunctor(const DataType& data) : _data(data) {}
-	virtual ~LLMaterialEditFunctor() {}
+	virtual ~LLMaterialEditFunctor() = default;
 	virtual void apply(LLMaterialPtr& material) { (material->*(MaterialEditFunc))(_data); }
 	DataType _data;
 };
@@ -75,7 +75,7 @@ template<
 class LLMaterialGetFunctor
 {
 public:
-	LLMaterialGetFunctor() {}
+	LLMaterialGetFunctor() = default;
 	virtual ~LLMaterialGetFunctor() = default;
 	virtual DataType get(LLMaterialPtr& material) { return (material->*(MaterialGetFunc)); }
 };
@@ -86,7 +86,7 @@ template<
 class LLTEGetFunctor
 {
 public:
-	LLTEGetFunctor() {}
+	LLTEGetFunctor() = default;
 	virtual ~LLTEGetFunctor() = default;
 	virtual DataType get(LLTextureEntry* entry) { return (entry*(TEGetFunc)); }
 };
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index 52a8cef99e..11cacb82a0 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -87,7 +87,7 @@ public:
 		}
 	};
 	LLGroupDropTarget(const Params&);
-	~LLGroupDropTarget() {};
+	~LLGroupDropTarget() = default;
 
 	void doDrop(EDragAndDropType cargo_type, void* cargo_data);
 
diff --git a/indra/newview/llpanellandmarks.cpp b/indra/newview/llpanellandmarks.cpp
index 8db75677e3..046ba4c51c 100644
--- a/indra/newview/llpanellandmarks.cpp
+++ b/indra/newview/llpanellandmarks.cpp
@@ -130,7 +130,7 @@ public:
 	LLLandmarksPanelObserver(LLLandmarksPanel* lp)
 	:	mLP(lp)
 	{}
-	virtual ~LLLandmarksPanelObserver() {}
+	virtual ~LLLandmarksPanelObserver() = default;
 	/*virtual*/ void changed(U32 mask) override;
 
 private:
diff --git a/indra/newview/llpanelonlinestatus.h b/indra/newview/llpanelonlinestatus.h
index 9c8aee7312..c77673bb3e 100644
--- a/indra/newview/llpanelonlinestatus.h
+++ b/indra/newview/llpanelonlinestatus.h
@@ -40,7 +40,7 @@ private:
 	friend class LLToastPanel;
 
 	LLPanelOnlineStatus(const LLNotificationPtr& notification);
-	virtual ~LLPanelOnlineStatus() {}
+	virtual ~LLPanelOnlineStatus() = default;
 };
 
 #endif /* LL_PANELONLINESTATUS_H */
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index c43806eb56..b652866b55 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -95,8 +95,8 @@ extern S32 gMaxAgentGroups;
 class LLAvatarItemRecentComparator : public LLAvatarItemComparator
 {
 public:
-	LLAvatarItemRecentComparator() {};
-	virtual ~LLAvatarItemRecentComparator() {};
+	LLAvatarItemRecentComparator() = default;
+	virtual ~LLAvatarItemRecentComparator() = default;
 
 protected:
 	bool doCompare(const LLAvatarListItem* avatar_item1, const LLAvatarListItem* avatar_item2) const override
@@ -114,7 +114,7 @@ protected:
 class LLAvatarItemStatusComparator : public LLAvatarItemComparator
 {
 public:
-	LLAvatarItemStatusComparator() {};
+	LLAvatarItemStatusComparator() = default;
 
 protected:
 	/**
@@ -146,7 +146,7 @@ class LLAvatarItemDistanceComparator : public LLAvatarItemComparator
 {
 public:
 	typedef std::map < LLUUID, LLVector3d > id_to_pos_map_t;
-	LLAvatarItemDistanceComparator() {};
+	LLAvatarItemDistanceComparator() = default;
 
 	void updateAvatarsPositions(std::vector<LLVector3d>& positions, uuid_vec_t& uuids)
 	{
@@ -183,8 +183,8 @@ private:
 class LLAvatarItemRecentSpeakerComparator : public  LLAvatarItemNameComparator
 {
 public:
-	LLAvatarItemRecentSpeakerComparator() {};
-	virtual ~LLAvatarItemRecentSpeakerComparator() {};
+	LLAvatarItemRecentSpeakerComparator() = default;
+	virtual ~LLAvatarItemRecentSpeakerComparator() = default;
 
 protected:
 	bool doCompare(const LLAvatarListItem* item1, const LLAvatarListItem* item2) const override
diff --git a/indra/newview/llpanelradaralert.h b/indra/newview/llpanelradaralert.h
index 3b5e455736..30b7750fb8 100644
--- a/indra/newview/llpanelradaralert.h
+++ b/indra/newview/llpanelradaralert.h
@@ -41,7 +41,7 @@ private:
 	friend class LLToastPanel;
 	
 	LLPanelRadarAlert(const LLNotificationPtr& notification);
-	virtual ~LLPanelRadarAlert() {}
+	virtual ~LLPanelRadarAlert() = default;
 };
 
 #endif // LL_PANELRADARALERT_H
diff --git a/indra/newview/llscreenchannel.h b/indra/newview/llscreenchannel.h
index 41730c9d39..1f4ca2610d 100644
--- a/indra/newview/llscreenchannel.h
+++ b/indra/newview/llscreenchannel.h
@@ -156,8 +156,8 @@ public:
 	class Matcher
 	{
 	public:
-		Matcher(){}
-		virtual ~Matcher() {}
+		Matcher() = default;
+		virtual ~Matcher() = default;
 		virtual bool matches(const LLNotificationPtr) const = 0;
 	};
 
diff --git a/indra/newview/llscriptfloater.h b/indra/newview/llscriptfloater.h
index 279c049305..3f13e1f409 100644
--- a/indra/newview/llscriptfloater.h
+++ b/indra/newview/llscriptfloater.h
@@ -156,7 +156,7 @@ public:
 	 */
 	LLScriptFloater(const LLSD& key);
 
-	virtual ~LLScriptFloater(){};
+	virtual ~LLScriptFloater() = default;
 
 	/**
 	 * Toggle existing floater or create and show a new one.
diff --git a/indra/newview/llsearchcombobox.cpp b/indra/newview/llsearchcombobox.cpp
index 08a189f178..7ce72b2580 100644
--- a/indra/newview/llsearchcombobox.cpp
+++ b/indra/newview/llsearchcombobox.cpp
@@ -40,7 +40,7 @@ public:
 
 	virtual void buildSearchHistory();
 
-	virtual ~LLSearchHistoryBuilder(){}
+	virtual ~LLSearchHistoryBuilder() = default;
 
 protected:
 
diff --git a/indra/newview/llsecapi.h b/indra/newview/llsecapi.h
index ea78919e47..362b90a68f 100644
--- a/indra/newview/llsecapi.h
+++ b/indra/newview/llsecapi.h
@@ -63,10 +63,10 @@ struct LLProtectedDataException: public LLException
 class LLCredential  : public LLThreadSafeRefCount
 {
 public:
-	LLCredential() {}
+	LLCredential() = default;
     LLCredential(std::string grid) : mGrid(std::move(grid)) {}
 	
-	virtual ~LLCredential() {}
+	virtual ~LLCredential() = default;
 	
 	virtual void setCredentialData(const LLSD& identifier, const LLSD& authenticator) 
 	{ 
@@ -108,8 +108,8 @@ std::ostream& operator <<(std::ostream& s, const LLCredential& cred);
 class LLSecAPIHandler : public LLThreadSafeRefCount
 {
 public:
-	LLSecAPIHandler() {}
-	virtual ~LLSecAPIHandler() {}
+	LLSecAPIHandler() = default;
+	virtual ~LLSecAPIHandler() = default;
 	
 	// initialize the SecAPIHandler
 	virtual void init() {};
diff --git a/indra/newview/llsechandler_basic.h b/indra/newview/llsechandler_basic.h
index 4d382659d8..33ee2b9161 100644
--- a/indra/newview/llsechandler_basic.h
+++ b/indra/newview/llsechandler_basic.h
@@ -35,7 +35,7 @@ class LLSecAPIBasicCredential : public LLCredential
 {
 public:
 	LLSecAPIBasicCredential(const std::string& grid) : LLCredential(grid) {} 
-	virtual ~LLSecAPIBasicCredential() {}
+	virtual ~LLSecAPIBasicCredential() = default;
 
 	// return a value representing the user id, (could be guid, name, whatever)
 	std::string userID() const override;
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 66e9a0690a..c713539cd5 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -4653,7 +4653,7 @@ void LLSelectMgr::sendDelink()
 
 	struct f : public LLSelectedObjectFunctor
 	{ //on delink, any modifyable object should
-		f() {}
+		f() = default;
 
 	    bool apply(LLViewerObject* object) override
 		{
diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h
index 9f30f6548e..28fa23ea01 100644
--- a/indra/newview/llselectmgr.h
+++ b/indra/newview/llselectmgr.h
@@ -89,7 +89,7 @@ const S32 SELECT_MAX_TES = 32;
 // the operation was successful.
 struct LLSelectedObjectFunctor
 {
-	virtual ~LLSelectedObjectFunctor() {};
+	virtual ~LLSelectedObjectFunctor() = default;
 	virtual bool apply(LLViewerObject* object) = 0;
 };
 
@@ -99,25 +99,25 @@ struct LLSelectedObjectFunctor
 // the operation was successful.
 struct LLSelectedNodeFunctor
 {
-	virtual ~LLSelectedNodeFunctor() {};
+	virtual ~LLSelectedNodeFunctor() = default;
 	virtual bool apply(LLSelectNode* node) = 0;
 };
 
 struct LLSelectedTEFunctor
 {
-	virtual ~LLSelectedTEFunctor() {};
+	virtual ~LLSelectedTEFunctor() = default;
 	virtual bool apply(LLViewerObject* object, S32 face) = 0;
 };
 
 struct LLSelectedTEMaterialFunctor
 {
-	virtual ~LLSelectedTEMaterialFunctor() {};
+	virtual ~LLSelectedTEMaterialFunctor() = default;
 	virtual LLMaterialPtr apply(LLViewerObject* object, S32 face, LLTextureEntry* tep, LLMaterialPtr& current_material) = 0;
 };
 
 template <typename T> struct LLSelectedTEGetFunctor
 {
-	virtual ~LLSelectedTEGetFunctor() {};
+	virtual ~LLSelectedTEGetFunctor() = default;
 	virtual T get(LLViewerObject* object, S32 te) = 0;
 };
 
diff --git a/indra/newview/llspeakers.h b/indra/newview/llspeakers.h
index fd6676e7bc..81f69ef733 100644
--- a/indra/newview/llspeakers.h
+++ b/indra/newview/llspeakers.h
@@ -59,7 +59,7 @@ public:
 
 
 	LLSpeaker(const LLUUID& id, const std::string& name = LLStringUtil::null, const ESpeakerType type = SPEAKER_AGENT);
-	~LLSpeaker() {};
+	~LLSpeaker() = default;
 	void lookupName();
 
 	void onNameCache(const LLUUID& id, const LLAvatarName& full_name);
diff --git a/indra/newview/llspeakingindicatormanager.h b/indra/newview/llspeakingindicatormanager.h
index e5afcd1cb7..d4ccc5b7ee 100644
--- a/indra/newview/llspeakingindicatormanager.h
+++ b/indra/newview/llspeakingindicatormanager.h
@@ -34,7 +34,7 @@ class SpeakingIndicatorManager;
 class LLSpeakingIndicator
 {
 public:
-	virtual ~LLSpeakingIndicator(){}
+	virtual ~LLSpeakingIndicator() = default;
 	virtual void switchIndicator(bool switch_on) = 0;
 
 private:
diff --git a/indra/newview/llsplitbutton.h b/indra/newview/llsplitbutton.h
index 66aeefed65..b4916e2dd6 100644
--- a/indra/newview/llsplitbutton.h
+++ b/indra/newview/llsplitbutton.h
@@ -65,7 +65,7 @@ public:
 	};
 
 
-	virtual ~LLSplitButton() {};
+	virtual ~LLSplitButton() = default;
 
 	//Overridden
 	void	onFocusLost() override;
diff --git a/indra/newview/llstreaminfo.h b/indra/newview/llstreaminfo.h
index f1c121102e..e0f939a6d8 100644
--- a/indra/newview/llstreaminfo.h
+++ b/indra/newview/llstreaminfo.h
@@ -38,7 +38,7 @@ class LLStreamInfo : LLEventTimer
 public:
 	LLStreamInfo();
 private:
-	~LLStreamInfo() {}
+	~LLStreamInfo() = default;
 	BOOL tick() override;
 };
 
diff --git a/indra/newview/llsurfacepatch.h b/indra/newview/llsurfacepatch.h
index 8c8f501dce..6a263d8aff 100644
--- a/indra/newview/llsurfacepatch.h
+++ b/indra/newview/llsurfacepatch.h
@@ -48,7 +48,7 @@ public:
 		mDistance(0.f),
 		mRenderLevel(0),
 		mRenderStride(0) { };
-	~LLPatchVisibilityInfo() { };
+	~LLPatchVisibilityInfo() = default;
 
 	BOOL mbIsVisible;
 	F32 mDistance;			// Distance from camera
diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp
index 79383971a3..3bb43c82d6 100644
--- a/indra/newview/lltexturecache.cpp
+++ b/indra/newview/lltexturecache.cpp
@@ -73,7 +73,7 @@ private:
 	{
 	public:
 		ReadResponder(LLTextureCache* cache, handle_t handle) : mCache(cache), mHandle(handle) {}
-		~ReadResponder() {}
+		~ReadResponder() = default;
 		void completed(S32 bytes) override
 		{
 			mCache->lockWorkers();
diff --git a/indra/newview/lltoastimpanel.h b/indra/newview/lltoastimpanel.h
index e8bff75eb0..0d9d1b3da1 100644
--- a/indra/newview/lltoastimpanel.h
+++ b/indra/newview/lltoastimpanel.h
@@ -46,7 +46,7 @@ public:
 							time,
 							message;
 
-		Params() {}
+		Params() = default;
 	};
 
 	LLToastIMPanel(LLToastIMPanel::Params &p);
diff --git a/indra/newview/lltoastscriptquestion.h b/indra/newview/lltoastscriptquestion.h
index 6dbd3c514c..8105ac7468 100644
--- a/indra/newview/lltoastscriptquestion.h
+++ b/indra/newview/lltoastscriptquestion.h
@@ -39,7 +39,7 @@ class LLToastScriptQuestion : public LLToastPanel
 public:
 	LLToastScriptQuestion(const LLNotificationPtr& notification);
 	BOOL postBuild() override;
-	virtual ~LLToastScriptQuestion(){};
+	virtual ~LLToastScriptQuestion() = default;
 
 	/*virtual*/ void setFocus(BOOL b) override;
 
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index b9ff3bb6ad..9ed1b6889b 100644
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -73,8 +73,8 @@
 class LLNoPreferredType : public LLInventoryCollectFunctor
 {
 public:
-	LLNoPreferredType() {}
-	virtual ~LLNoPreferredType() {}
+	LLNoPreferredType() = default;
+	virtual ~LLNoPreferredType() = default;
 
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override
@@ -110,7 +110,7 @@ class LLDroppableItem : public LLInventoryCollectFunctor
 public:
 	LLDroppableItem(BOOL is_transfer) :
 		mCountLosing(0), mIsTransfer(is_transfer) {}
-	virtual ~LLDroppableItem() {}
+	virtual ~LLDroppableItem() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 	S32 countNoCopy() const { return mCountLosing; }
@@ -180,7 +180,7 @@ public:
 							const uuid_vec_t& item_ids) :
 		LLInventoryFetchComboObserver(folder_ids, item_ids)
 	{}
-	~LLCategoryFireAndForget() {}
+	~LLCategoryFireAndForget() = default;
 
 	void done() override
 	{
@@ -241,7 +241,7 @@ public:
 		mObjectID(obj_id),
 		mSource(src)
 	{}
-	~LLCategoryDropDescendentsObserver() {}
+	~LLCategoryDropDescendentsObserver() = default;
 	virtual void done();
 
 protected:
diff --git a/indra/newview/lltoolmorph.h b/indra/newview/lltoolmorph.h
index f8e63bdbc9..5de5e9eac7 100644
--- a/indra/newview/lltoolmorph.h
+++ b/indra/newview/lltoolmorph.h
@@ -104,7 +104,7 @@ protected:
 class LLVisualParamReset final : public LLViewerDynamicTexture
 {
 protected:
-	/*virtual */ ~LLVisualParamReset(){}
+	/*virtual */ ~LLVisualParamReset() = default;
 public:
 	LLVisualParamReset();
 	/*virtual */ BOOL render() override;
diff --git a/indra/newview/lltranslate.cpp b/indra/newview/lltranslate.cpp
index d3ffcac40f..96f084c272 100644
--- a/indra/newview/lltranslate.cpp
+++ b/indra/newview/lltranslate.cpp
@@ -106,7 +106,7 @@ public:
     virtual void translateMessage(LanguagePair_t fromTo, std::string msg, LLTranslate::TranslationSuccess_fn success, LLTranslate::TranslationFailure_fn failure);
 
 
-    virtual ~LLTranslationAPIHandler() {}
+    virtual ~LLTranslationAPIHandler() = default;
 
     void verifyKeyCoro(LLTranslate::EService service, std::string key, LLTranslate::KeyVerificationResult_fn fnc);
     void translateMessageCoro(LanguagePair_t fromTo, std::string msg, LLTranslate::TranslationSuccess_fn success, LLTranslate::TranslationFailure_fn failure);
diff --git a/indra/newview/lluploadfloaterobservers.h b/indra/newview/lluploadfloaterobservers.h
index 15c3dad38e..d5de974391 100644
--- a/indra/newview/lluploadfloaterobservers.h
+++ b/indra/newview/lluploadfloaterobservers.h
@@ -35,7 +35,7 @@ class LLUploadPermissionsObserver
 public:
 
 	LLUploadPermissionsObserver(){mUploadPermObserverHandle.bind(this);}
-	virtual ~LLUploadPermissionsObserver() {}
+	virtual ~LLUploadPermissionsObserver() = default;
 
 	virtual void onPermissionsReceived(const LLSD& result) = 0;
 	virtual void setPermissonsErrorStatus(S32 status, const std::string& reason) = 0;
@@ -50,7 +50,7 @@ class LLWholeModelFeeObserver
 {
 public:
 	LLWholeModelFeeObserver() { mWholeModelFeeObserverHandle.bind(this); }
-	virtual ~LLWholeModelFeeObserver() {}
+	virtual ~LLWholeModelFeeObserver() = default;
 
 	virtual void onModelPhysicsFeeReceived(const LLSD& result, std::string upload_url) = 0;
 	virtual void setModelPhysicsFeeErrorStatus(S32 status, const std::string& reason) = 0;
@@ -66,7 +66,7 @@ class LLWholeModelUploadObserver
 {
 public:
 	LLWholeModelUploadObserver() { mWholeModelUploadObserverHandle.bind(this); }
-	virtual ~LLWholeModelUploadObserver() {}
+	virtual ~LLWholeModelUploadObserver() = default;
 
 	virtual void onModelUploadSuccess() = 0;
 
diff --git a/indra/newview/llviewerassettype.h b/indra/newview/llviewerassettype.h
index 513f752c1c..4023f37d32 100644
--- a/indra/newview/llviewerassettype.h
+++ b/indra/newview/llviewerassettype.h
@@ -41,8 +41,8 @@ public:
 													   std::string& description);
 	static EDragAndDropType   	lookupDragAndDropType(EType asset_type);
 protected:
-	LLViewerAssetType() {}
-	~LLViewerAssetType() {}
+	LLViewerAssetType() = default;
+	~LLViewerAssetType() = default;
 };
 
 #endif // LL_LLVIEWERASSETTYPE_H
diff --git a/indra/newview/llviewerfoldertype.h b/indra/newview/llviewerfoldertype.h
index 833d0a6c11..ee7fc1af07 100644
--- a/indra/newview/llviewerfoldertype.h
+++ b/indra/newview/llviewerfoldertype.h
@@ -46,8 +46,8 @@ public:
 	static U64					lookupValidFolderTypes(const std::string& item_name); // which folders allow an item of this type?
 
 protected:
-	LLViewerFolderType() {}
-	~LLViewerFolderType() {}
+	LLViewerFolderType() = default;
+	~LLViewerFolderType() = default;
 };
 
 #endif // LL_LLVIEWERFOLDERTYPE_H
diff --git a/indra/newview/llviewerinventory.cpp b/indra/newview/llviewerinventory.cpp
index 730a7b950a..8655750e6d 100644
--- a/indra/newview/llviewerinventory.cpp
+++ b/indra/newview/llviewerinventory.cpp
@@ -2403,7 +2403,7 @@ class LLRegenerateLinkCollector : public LLInventoryCollectFunctor
 {
 public:
 	LLRegenerateLinkCollector(const LLViewerInventoryItem *target_item) : mTargetItem(target_item) {}
-	virtual ~LLRegenerateLinkCollector() {}
+	virtual ~LLRegenerateLinkCollector() = default;
 
     bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override
diff --git a/indra/newview/llviewerkeyboard.h b/indra/newview/llviewerkeyboard.h
index 178a570d8b..9ad1a8cc6c 100644
--- a/indra/newview/llviewerkeyboard.h
+++ b/indra/newview/llviewerkeyboard.h
@@ -36,8 +36,8 @@ const S32 MAX_KEY_BINDINGS = 128; // was 60
 class LLNamedFunction
 {
 public:
-	LLNamedFunction() { };
-	~LLNamedFunction() { };
+	LLNamedFunction() = default;
+	~LLNamedFunction() = default;
 
 	std::string	mName;
 	LLKeyFunc	mFunction;
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 13ec9ccb72..bd7ef3e3f0 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -3863,7 +3863,7 @@ class LLHaveCallingcard : public LLInventoryCollectFunctor
 {
 public:
 	LLHaveCallingcard(const LLUUID& agent_id);
-	virtual ~LLHaveCallingcard() {}
+	virtual ~LLHaveCallingcard() = default;
 	virtual bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item);
 	BOOL isThere() const { return mIsThere;}
@@ -7843,7 +7843,7 @@ class LLHasAsset : public LLInventoryCollectFunctor
 {
 public:
 	LLHasAsset(const LLUUID& id) : mAssetID(id), mHasAsset(FALSE) {}
-	virtual ~LLHasAsset() {}
+	virtual ~LLHasAsset() = default;
     bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
 	BOOL hasAsset() const { return mHasAsset; }
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index e5a5e6d040..aa853a6938 100644
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -71,7 +71,7 @@ class LLEmbeddedLandmarkCopied final : public LLInventoryCallback
 {
 public:
 
-	LLEmbeddedLandmarkCopied(){}
+	LLEmbeddedLandmarkCopied() = default;
 	void fire(const LLUUID& inv_item) override
 	{
 		showInfo(inv_item);
diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h
index 9b3b9c4dd7..ca84e3da55 100644
--- a/indra/newview/llviewertexture.h
+++ b/indra/newview/llviewertexture.h
@@ -543,7 +543,7 @@ public:
 class LLViewerLODTexture final : public LLViewerFetchedTexture
 {
 protected:
-	/*virtual*/ ~LLViewerLODTexture(){}
+	/*virtual*/ ~LLViewerLODTexture() = default;
 
 public:
 	LLViewerLODTexture(const LLUUID& id, FTType f_type, const LLHost& host = LLHost(), BOOL usemipmaps = TRUE);
diff --git a/indra/newview/llvoiceclient.h b/indra/newview/llvoiceclient.h
index 2735c524b0..8662d9ce62 100644
--- a/indra/newview/llvoiceclient.h
+++ b/indra/newview/llvoiceclient.h
@@ -56,7 +56,7 @@ typedef std::vector<LLVoiceDevice> LLVoiceDeviceList;
 class LLVoiceClientParticipantObserver
 {
 public:
-	virtual ~LLVoiceClientParticipantObserver() { }
+	virtual ~LLVoiceClientParticipantObserver() = default;
 	virtual void onParticipantsChanged() = 0;
 };
 
@@ -84,7 +84,7 @@ public:
 		ERROR_UNKNOWN
 	} EStatusType;
 
-	virtual ~LLVoiceClientStatusObserver() { }
+	virtual ~LLVoiceClientStatusObserver() = default;
 	virtual void onChange(EStatusType status, const std::string &channelURI, bool proximal) = 0;
 
 	static std::string status2string(EStatusType inStatus);
@@ -106,8 +106,8 @@ struct LLVoiceVersionInfo
 class LLVoiceModuleInterface
 {
 public:
-	LLVoiceModuleInterface() {}
-	virtual ~LLVoiceModuleInterface() {}
+	LLVoiceModuleInterface() = default;
+	virtual ~LLVoiceModuleInterface() = default;
 	
 	virtual void init(LLPumpIO *pump)=0;	// Call this once at application startup (creates connector)
 	virtual void terminate()=0;	// Call this to clean up during shutdown
@@ -255,7 +255,7 @@ public:
 class LLVoiceEffectObserver
 {
 public:
-	virtual ~LLVoiceEffectObserver() { }
+	virtual ~LLVoiceEffectObserver() = default;
 	virtual void onVoiceEffectChanged(bool effect_list_updated) = 0;
 };
 
@@ -271,8 +271,8 @@ typedef std::multimap<const std::string, const LLUUID, LLDictionaryLess> voice_e
 class LLVoiceEffectInterface
 {
 public:
-	LLVoiceEffectInterface() {}
-	virtual ~LLVoiceEffectInterface() {}
+	LLVoiceEffectInterface() = default;
+	virtual ~LLVoiceEffectInterface() = default;
 
 	//////////////////////////
 	/// @name Accessors
diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp
index 59ab9700e6..01d3a83272 100644
--- a/indra/newview/llwearableitemslist.cpp
+++ b/indra/newview/llwearableitemslist.cpp
@@ -51,7 +51,7 @@
 class LLFindOutfitItems final : public LLInventoryCollectFunctor
 {
 public:
-	LLFindOutfitItems() {}
+	LLFindOutfitItems() = default;
 	virtual ~LLFindOutfitItems() = default;
 	bool operator()(LLInventoryCategory* cat,
 							LLInventoryItem* item) override;
diff --git a/indra/newview/llwearableitemslist.h b/indra/newview/llwearableitemslist.h
index cd2350b7b5..4841d800f5 100644
--- a/indra/newview/llwearableitemslist.h
+++ b/indra/newview/llwearableitemslist.h
@@ -106,7 +106,7 @@ public:
 
 	static LLPanelDeletableWearableListItem* create(LLViewerInventoryItem* item);
 
-	virtual ~LLPanelDeletableWearableListItem() {};
+	virtual ~LLPanelDeletableWearableListItem() = default;
 
 	/*virtual*/ BOOL postBuild() override;
 
@@ -125,7 +125,7 @@ class LLPanelAttachmentListItem final : public LLPanelDeletableWearableListItem
 	LOG_CLASS(LLPanelAttachmentListItem);
 public:
 	static LLPanelAttachmentListItem* create(LLViewerInventoryItem* item);
-	virtual ~LLPanelAttachmentListItem() {};
+	virtual ~LLPanelAttachmentListItem() = default;
 
 	/** Set item title. Joint name is added to the title in parenthesis */
 	/*virtual*/ void updateItem(const std::string& name,
@@ -247,8 +247,8 @@ class LLWearableListItemComparator : public LLFlatListView::ItemComparator
 	LOG_CLASS(LLWearableListItemComparator);
 
 public:
-	LLWearableListItemComparator() {};
-	virtual ~LLWearableListItemComparator() {};
+	LLWearableListItemComparator() = default;
+	virtual ~LLWearableListItemComparator() = default;
 
 	bool compare(const LLPanel* item1, const LLPanel* item2) const override
 	{
diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h
index 47a8ebf148..67c99e08df 100644
--- a/indra/newview/rlvcommon.h
+++ b/indra/newview/rlvcommon.h
@@ -202,7 +202,7 @@ protected:
 class RlvExtCommandHandler
 {
 public:
-	virtual ~RlvExtCommandHandler() {}
+	virtual ~RlvExtCommandHandler() = default;
 	virtual bool onAddRemCommand(const RlvCommand& rlvCmd, ERlvCmdRet& cmdRet) { return false; }
 	virtual bool onClearCommand(const RlvCommand& rlvCmd, ERlvCmdRet& cmdRet)  { return false; }
 	virtual bool onReplyCommand(const RlvCommand& rlvCmd, ERlvCmdRet& cmdRet)  { return false; }
@@ -228,14 +228,14 @@ bool rlvCanDeleteOrReturn(const LLViewerObject* pObj);
 
 struct RlvSelectHasLockedAttach : public LLSelectedNodeFunctor
 {
-	RlvSelectHasLockedAttach() {}
+	RlvSelectHasLockedAttach() = default;
 	virtual bool apply(LLSelectNode* pNode);
 };
 
 // Filters out selected objects that can't be editable (i.e. getFirstNode() will return NULL if the selection is fully editable)
 struct RlvSelectIsEditable : public LLSelectedNodeFunctor
 {
-	RlvSelectIsEditable() {}
+	RlvSelectIsEditable() = default;
 	/*virtual*/ bool apply(LLSelectNode* pNode);
 };
 
@@ -276,13 +276,13 @@ protected:
 
 struct RlvPredCanRemoveItem
 {
-	RlvPredCanRemoveItem() {}
+	RlvPredCanRemoveItem() = default;
 	bool operator()(const LLViewerInventoryItem* pItem) { return rlvPredCanRemoveItem(pItem); }
 };
 
 struct RlvPredCanNotRemoveItem
 {
-	RlvPredCanNotRemoveItem() {}
+	RlvPredCanNotRemoveItem() = default;
 	bool operator()(const LLViewerInventoryItem* pItem) { return rlvPredCanNotRemoveItem(pItem); }
 };
 
diff --git a/indra/newview/rlvextensions.h b/indra/newview/rlvextensions.h
index 08a6d1fca7..b255302504 100644
--- a/indra/newview/rlvextensions.h
+++ b/indra/newview/rlvextensions.h
@@ -31,7 +31,7 @@ class RlvExtGetSet : public RlvExtCommandHandler
 {
 public:
 	RlvExtGetSet();
-	virtual ~RlvExtGetSet() {}
+	virtual ~RlvExtGetSet() = default;
 
 	virtual bool onForceCommand(const RlvCommand& rlvCmd, ERlvCmdRet& cmdRet);
 	virtual bool onReplyCommand(const RlvCommand& rlvCmd, ERlvCmdRet& cmdRet);
diff --git a/indra/newview/rlvhelper.h b/indra/newview/rlvhelper.h
index d1886fe2a6..babd8c0c63 100644
--- a/indra/newview/rlvhelper.h
+++ b/indra/newview/rlvhelper.h
@@ -63,7 +63,7 @@ public:
 
 	RlvBehaviourInfo(std::string strBhvr, ERlvBehaviour eBhvr, U32 maskParamType, U32 nBhvrFlags = 0)
 		: m_strBhvr(strBhvr), m_eBhvr(eBhvr), m_nBhvrFlags(nBhvrFlags), m_maskParamType(maskParamType) {}
-	virtual ~RlvBehaviourInfo() {}
+	virtual ~RlvBehaviourInfo() = default;
 
 	const std::string&	getBehaviour() const      { return m_strBhvr; }
 	ERlvBehaviour		getBehaviourType() const  { return m_eBhvr; }
@@ -385,7 +385,7 @@ struct RlvCommandOption
 protected:
 	RlvCommandOption() : m_fValid(false) {}
 public:
-	virtual ~RlvCommandOption() {}
+	virtual ~RlvCommandOption() = default;
 
 public:
 	virtual bool isEmpty() const { return false; }
diff --git a/indra/newview/rlvinventory.cpp b/indra/newview/rlvinventory.cpp
index 124706f770..c5f28ec088 100644
--- a/indra/newview/rlvinventory.cpp
+++ b/indra/newview/rlvinventory.cpp
@@ -41,7 +41,7 @@ class RlvSharedInventoryFetcher : public LLInventoryFetchDescendentsObserver
 {
 public:
 	RlvSharedInventoryFetcher(const uuid_vec_t& idFolders): LLInventoryFetchDescendentsObserver(idFolders) {}
-	virtual ~RlvSharedInventoryFetcher() {}
+	virtual ~RlvSharedInventoryFetcher() = default;
 
 	virtual void done()
 	{
diff --git a/indra/newview/rlvinventory.h b/indra/newview/rlvinventory.h
index 743e38dc1b..7b24cf75f4 100644
--- a/indra/newview/rlvinventory.h
+++ b/indra/newview/rlvinventory.h
@@ -113,7 +113,7 @@ class RlvRenameOnWearObserver : public LLInventoryFetchItemsObserver
 {
 public:
 	RlvRenameOnWearObserver(const LLUUID& idItem) : LLInventoryFetchItemsObserver(idItem) {}
-	virtual ~RlvRenameOnWearObserver() {}
+	virtual ~RlvRenameOnWearObserver() = default;
 	virtual void done();
 protected:
 	void doneIdle();
@@ -127,8 +127,8 @@ protected:
 class RlvGiveToRLVOffer
 {
 protected:
-	RlvGiveToRLVOffer() {}
-	virtual ~RlvGiveToRLVOffer() {}
+	RlvGiveToRLVOffer() = default;
+	virtual ~RlvGiveToRLVOffer() = default;
 protected:
 	bool         createDestinationFolder(const std::string& strPath);
 	virtual void onDestinationCreated(const LLUUID& idFolder, const std::string& strName) = 0;
@@ -163,7 +163,7 @@ class RlvGiveToRLVAgentOffer : public LLInventoryFetchDescendentsObserver, RlvGi
 {
 public:
 	RlvGiveToRLVAgentOffer(const LLUUID& idFolder) : LLInventoryFetchDescendentsObserver(idFolder), RlvGiveToRLVOffer()  {}
-	/*virtual*/ ~RlvGiveToRLVAgentOffer() {}
+	/*virtual*/ ~RlvGiveToRLVAgentOffer() = default;
 public:
 	/*virtual*/ void done();
 protected:
@@ -191,7 +191,7 @@ public:
 			idxLast = idxIt + 2;
 		}
 	}
-	virtual ~RlvCriteriaCategoryCollector() {}
+	virtual ~RlvCriteriaCategoryCollector() = default;
 
 	virtual bool operator()(LLInventoryCategory* pFolder, LLInventoryItem* pItem)
 	{
@@ -227,7 +227,7 @@ class RlvWearableItemCollector : public LLInventoryCollectFunctor
 {
 public:
 	RlvWearableItemCollector(const LLInventoryCategory* pFolder, RlvForceWear::EWearAction eAction, RlvForceWear::EWearFlags eFlags);
-	virtual ~RlvWearableItemCollector() {}
+	virtual ~RlvWearableItemCollector() = default;
 
 	virtual bool operator()(LLInventoryCategory* pFolder, LLInventoryItem* pItem);
 
@@ -261,8 +261,8 @@ protected:
 class RlvIsLinkType : public LLInventoryCollectFunctor
 {
 public:
-	RlvIsLinkType() {}
-	/*virtual*/ ~RlvIsLinkType() {}
+	RlvIsLinkType() = default;
+	/*virtual*/ ~RlvIsLinkType() = default;
 	virtual bool operator()(LLInventoryCategory* pFolder, LLInventoryItem* pItem) { return (pItem) && (pItem->getIsLinkType()); }
 };
 
@@ -271,7 +271,7 @@ class RlvFindAttachmentsOnPoint : public LLInventoryCollectFunctor
 {
 public:
 	RlvFindAttachmentsOnPoint(const LLViewerJointAttachment* pAttachPt) : m_pAttachPt(pAttachPt) {}
-	/*virtual*/ ~RlvFindAttachmentsOnPoint() {}
+	/*virtual*/ ~RlvFindAttachmentsOnPoint() = default;
 	virtual bool operator()(LLInventoryCategory* pFolder, LLInventoryItem* pItem);
 protected:
 	const LLViewerJointAttachment* m_pAttachPt;
diff --git a/indra/newview/rlvlocks.cpp b/indra/newview/rlvlocks.cpp
index 61e185b89a..8263bbfd61 100644
--- a/indra/newview/rlvlocks.cpp
+++ b/indra/newview/rlvlocks.cpp
@@ -932,7 +932,7 @@ class RlvLockedDescendentsCollector : public LLInventoryCollectFunctor
 public:
 	RlvLockedDescendentsCollector(int eSourceTypeMask, RlvFolderLocks::ELockPermission ePermMask, ERlvLockMask eLockTypeMask) 
 		: m_ePermMask(ePermMask), m_eSourceTypeMask(eSourceTypeMask), m_eLockTypeMask(eLockTypeMask) {}
-	/*virtual*/ ~RlvLockedDescendentsCollector() {}
+	/*virtual*/ ~RlvLockedDescendentsCollector() = default;
 	/*virtual*/ bool operator()(LLInventoryCategory* pFolder, LLInventoryItem* pItem)
 	{
 		return (pFolder) && (RlvFolderLocks::instance().isLockedFolderEntry(pFolder->getUUID(), m_eSourceTypeMask, m_ePermMask, m_eLockTypeMask));
diff --git a/indra/newview/rlvmodifiers.h b/indra/newview/rlvmodifiers.h
index 9d58462a9e..f11e43fdb2 100644
--- a/indra/newview/rlvmodifiers.h
+++ b/indra/newview/rlvmodifiers.h
@@ -41,7 +41,7 @@ protected:
 
 struct RlvBehaviourModifierComp
 {
-	virtual ~RlvBehaviourModifierComp() {}
+	virtual ~RlvBehaviourModifierComp() = default;
 	virtual bool operator()(const RlvBehaviourModifierValueTuple& lhs, const RlvBehaviourModifierValueTuple& rhs)
 	{
 		// Values that match the primary object take precedence (otherwise maintain relative ordering)
@@ -146,7 +146,7 @@ public:
 			RLV_ASSERT(false);
 		}
 	}
-	~RlvBehaviourModifierCache() {}
+	~RlvBehaviourModifierCache() = default;
 
 	/*
 	 * Member functions
-- 
GitLab