[Libreoffice-commits] core.git: cppuhelper/source cui/source editeng/source extensions/source include/com include/comphelper include/cppuhelper include/editeng include/osl include/rtl include/sal include/salhelper include/svl include/svx include/tools include/vcl sal/rtl sc/inc sc/qa sc/source sd/source svl/source svx/source sw/inc sw/source tools/source vcl/inc vcl/source vcl/unx

Caolán McNamara caolanm at redhat.com
Tue Jun 6 12:16:05 UTC 2017


 cppuhelper/source/weak.cxx                                        |    2 -
 cui/source/options/optgdlg.cxx                                    |    4 +--
 editeng/source/uno/unoedsrc.cxx                                   |    2 -
 extensions/source/propctrlr/composeduiupdate.hxx                  |    2 -
 include/com/sun/star/uno/Reference.h                              |    2 -
 include/com/sun/star/uno/Reference.hxx                            |    3 --
 include/comphelper/componentbase.hxx                              |    2 -
 include/cppuhelper/weak.hxx                                       |    2 -
 include/editeng/unoedsrc.hxx                                      |    2 -
 include/osl/thread.hxx                                            |    2 -
 include/rtl/ref.hxx                                               |    2 -
 include/sal/types.h                                               |   10 ++++++++
 include/salhelper/simplereferenceobject.hxx                       |    2 -
 include/svl/SfxBroadcaster.hxx                                    |    2 -
 include/svl/hint.hxx                                              |    2 -
 include/svl/listener.hxx                                          |    2 -
 include/svl/lstner.hxx                                            |    2 -
 include/svl/undo.hxx                                              |    2 -
 include/svx/sdr/contact/objectcontact.hxx                         |    2 -
 include/tools/ref.hxx                                             |    5 +++-
 include/vcl/scheduler.hxx                                         |    2 -
 sal/rtl/ustring.cxx                                               |   12 ++++++++++
 sc/inc/colcontainer.hxx                                           |    2 -
 sc/inc/colorscale.hxx                                             |    2 -
 sc/inc/column.hxx                                                 |    4 +--
 sc/inc/table.hxx                                                  |    2 -
 sc/qa/unit/helper/sorthelper.hxx                                  |    2 -
 sc/source/core/data/colcontainer.cxx                              |    2 -
 sc/source/core/data/colorscale.cxx                                |    2 -
 sc/source/core/data/column.cxx                                    |    2 -
 sc/source/core/data/documen8.cxx                                  |    2 -
 sc/source/core/data/table1.cxx                                    |    2 -
 sc/source/core/inc/bcaslot.hxx                                    |    2 -
 sc/source/core/tool/scmatrix.cxx                                  |    4 +--
 sc/source/ui/docshell/docsh.cxx                                   |    2 -
 sc/source/ui/docshell/impex.cxx                                   |    2 -
 sc/source/ui/inc/docsh.hxx                                        |    2 -
 sc/source/ui/inc/impex.hxx                                        |    2 -
 sc/source/ui/inc/viewdata.hxx                                     |    2 -
 sc/source/ui/unoobj/funcuno.cxx                                   |    4 +--
 sc/source/ui/view/viewdata.cxx                                    |    2 -
 sd/source/ui/inc/OutlineView.hxx                                  |    2 -
 sd/source/ui/inc/ToolBarManager.hxx                               |    2 -
 sd/source/ui/inc/ViewShellManager.hxx                             |    2 -
 sd/source/ui/slidesorter/controller/SlideSorterController.cxx     |    2 -
 sd/source/ui/slidesorter/controller/SlsDragAndDropContext.cxx     |    2 -
 sd/source/ui/slidesorter/controller/SlsDragAndDropContext.hxx     |    2 -
 sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx      |    4 +--
 sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx |    2 -
 sd/source/ui/view/ViewShellManager.cxx                            |    6 ++---
 sd/source/ui/view/outlview.cxx                                    |    2 -
 svl/source/notify/SfxBroadcaster.cxx                              |    2 -
 svl/source/notify/hint.cxx                                        |    2 -
 svl/source/notify/listener.cxx                                    |    2 -
 svl/source/notify/lstner.cxx                                      |    2 -
 svl/source/undo/undo.cxx                                          |    2 -
 svx/source/sdr/contact/objectcontact.cxx                          |    2 -
 sw/inc/calbck.hxx                                                 |    2 -
 sw/inc/editsh.hxx                                                 |    4 +--
 sw/inc/ndole.hxx                                                  |    2 -
 sw/inc/ring.hxx                                                   |    2 -
 sw/inc/unobaseclass.hxx                                           |    2 -
 sw/inc/unochart.hxx                                               |    2 -
 sw/source/core/edit/edws.cxx                                      |    4 +--
 sw/source/core/inc/frmtool.hxx                                    |    2 -
 sw/source/core/layout/frmtool.cxx                                 |    2 -
 sw/source/core/ole/ndole.cxx                                      |    2 -
 sw/source/core/text/possiz.hxx                                    |    6 +++++
 sw/source/core/undo/docundo.cxx                                   |    2 -
 sw/source/core/unocore/unochart.cxx                               |    2 -
 sw/source/core/unocore/unoobj2.cxx                                |    2 -
 sw/source/uibase/app/docstyle.cxx                                 |    4 +--
 sw/source/uibase/dochdl/swdtflvr.cxx                              |    2 -
 sw/source/uibase/wrtsh/move.cxx                                   |    2 -
 tools/source/ref/ref.cxx                                          |    2 -
 vcl/inc/saldatabasic.hxx                                          |    2 -
 vcl/inc/saltimer.hxx                                              |    2 -
 vcl/source/app/salvtables.cxx                                     |    2 -
 vcl/source/app/scheduler.cxx                                      |    2 -
 vcl/unx/generic/plugadapt/salplug.cxx                             |    2 -
 80 files changed, 118 insertions(+), 88 deletions(-)

New commits:
commit d0069e5189f5410e1db7aa395f0754109e872f46
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Feb 10 09:24:16 2017 +0000

    add COVERITY_NOEXCEPT_FALSE
    
    to markup dtors that coverity warns might throw exceptions
    which won't throw in practice, or where std::terminate is
    an acceptable response if they do
    
    Change-Id: I32b94814e8245372e1d1dc36be0d81e3564042f4
    Reviewed-on: https://gerrit.libreoffice.org/38318
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cppuhelper/source/weak.cxx b/cppuhelper/source/weak.cxx
index 3eec26d11647..81de170130a9 100644
--- a/cppuhelper/source/weak.cxx
+++ b/cppuhelper/source/weak.cxx
@@ -249,7 +249,7 @@ void OWeakObject::disposeWeakConnectionPoint()
     }
 }
 
-OWeakObject::~OWeakObject()
+OWeakObject::~OWeakObject() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 07496d9e6c26..8f7c9493915e 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -120,7 +120,7 @@ private:
 
 public:
     OpenGLCfg();
-    ~OpenGLCfg();
+    ~OpenGLCfg() COVERITY_NOEXCEPT_FALSE;
 
     bool useOpenGL() const;
     bool forceOpenGL() const;
@@ -144,7 +144,7 @@ void OpenGLCfg::reset()
     mbModified = false;
 }
 
-OpenGLCfg::~OpenGLCfg()
+OpenGLCfg::~OpenGLCfg() COVERITY_NOEXCEPT_FALSE
 {
     if (mbModified)
     {
diff --git a/editeng/source/uno/unoedsrc.cxx b/editeng/source/uno/unoedsrc.cxx
index 4e48ffa1d10b..9e2aa24b34ad 100644
--- a/editeng/source/uno/unoedsrc.cxx
+++ b/editeng/source/uno/unoedsrc.cxx
@@ -41,7 +41,7 @@ const SvxUnoTextRangeBaseList& SvxEditSource::getRanges() const
 }
 
 
-SvxTextForwarder::~SvxTextForwarder()
+SvxTextForwarder::~SvxTextForwarder() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/extensions/source/propctrlr/composeduiupdate.hxx b/extensions/source/propctrlr/composeduiupdate.hxx
index 93faf7a5e585..c38c405a334c 100644
--- a/extensions/source/propctrlr/composeduiupdate.hxx
+++ b/extensions/source/propctrlr/composeduiupdate.hxx
@@ -199,7 +199,7 @@ namespace pcr
         {
             m_rUIUpdate.suspendAutoFire();
         }
-        ~ComposedUIAutoFireGuard()
+        ~ComposedUIAutoFireGuard() COVERITY_NOEXCEPT_FALSE
         {
             m_rUIUpdate.resumeAutoFire();
         }
diff --git a/include/com/sun/star/uno/Reference.h b/include/com/sun/star/uno/Reference.h
index ba68c74ae574..c24509a51568 100644
--- a/include/com/sun/star/uno/Reference.h
+++ b/include/com/sun/star/uno/Reference.h
@@ -290,7 +290,7 @@ public:
 
     /** Destructor: Releases interface if set.
     */
-    inline ~Reference();
+    inline ~Reference() COVERITY_NOEXCEPT_FALSE;
 
     /** Default Constructor: Sets null reference.
     */
diff --git a/include/com/sun/star/uno/Reference.hxx b/include/com/sun/star/uno/Reference.hxx
index f197007cb8ff..e99cc15f8941 100644
--- a/include/com/sun/star/uno/Reference.hxx
+++ b/include/com/sun/star/uno/Reference.hxx
@@ -103,9 +103,8 @@ inline interface_type * Reference< interface_type >::iset_throw(
         NULL );
 }
 
-
 template< class interface_type >
-inline Reference< interface_type >::~Reference()
+inline Reference< interface_type >::~Reference() COVERITY_NOEXCEPT_FALSE
 {
     if (_pInterface)
         _pInterface->release();
diff --git a/include/comphelper/componentbase.hxx b/include/comphelper/componentbase.hxx
index 75f43a9f8812..993b81eeeb73 100644
--- a/include/comphelper/componentbase.hxx
+++ b/include/comphelper/componentbase.hxx
@@ -58,7 +58,7 @@ namespace comphelper
         {
         }
 
-        ~ComponentBase() {}
+        ~ComponentBase() COVERITY_NOEXCEPT_FALSE {}
 
         /** marks the instance as initialized
 
diff --git a/include/cppuhelper/weak.hxx b/include/cppuhelper/weak.hxx
index cddd79590592..8c8126e47a54 100644
--- a/include/cppuhelper/weak.hxx
+++ b/include/cppuhelper/weak.hxx
@@ -51,7 +51,7 @@ protected:
         Despite the fact that a RuntimeException is allowed to be thrown, you must not throw any
         exception upon destruction!
     */
-    virtual ~OWeakObject();
+    virtual ~OWeakObject() COVERITY_NOEXCEPT_FALSE;
 
     /** disposes and resets m_pWeakConnectionPoint
         @pre
diff --git a/include/editeng/unoedsrc.hxx b/include/editeng/unoedsrc.hxx
index 6274ccfd9046..92ab6780977a 100644
--- a/include/editeng/unoedsrc.hxx
+++ b/include/editeng/unoedsrc.hxx
@@ -136,7 +136,7 @@ public:
 class EDITENG_DLLPUBLIC SvxTextForwarder
 {
 public:
-    virtual             ~SvxTextForwarder();
+    virtual             ~SvxTextForwarder() COVERITY_NOEXCEPT_FALSE;
 
     virtual sal_Int32   GetParagraphCount() const = 0;
     virtual sal_Int32   GetTextLen( sal_Int32 nParagraph ) const = 0;
diff --git a/include/osl/thread.hxx b/include/osl/thread.hxx
index 4708ec011386..3adfc83fe295 100644
--- a/include/osl/thread.hxx
+++ b/include/osl/thread.hxx
@@ -62,7 +62,7 @@ public:
 
     Thread(): m_hThread(NULL){}
 
-    virtual  ~Thread()
+    virtual  ~Thread() COVERITY_NOEXCEPT_FALSE
     {
         osl_destroyThread( m_hThread);
     }
diff --git a/include/rtl/ref.hxx b/include/rtl/ref.hxx
index e8f624a93d6f..7b80da98218d 100644
--- a/include/rtl/ref.hxx
+++ b/include/rtl/ref.hxx
@@ -84,7 +84,7 @@ public:
 
     /** Destructor...
      */
-    ~Reference()
+    ~Reference() COVERITY_NOEXCEPT_FALSE
     {
         if (m_pBody)
             m_pBody->release();
diff --git a/include/sal/types.h b/include/sal/types.h
index 9d5f699c9794..52066bf40f7d 100644
--- a/include/sal/types.h
+++ b/include/sal/types.h
@@ -351,6 +351,16 @@ typedef struct _sal_Sequence
 */
 #define SAL_THROW_EXTERN_C() throw ()
 
+/** To markup destructors that coverity warns might throw exceptions
+    which won't throw in practice, or where std::terminate is
+    an acceptable response if they do
+*/
+#if defined(LIBO_INTERNAL_ONLY) && defined(__COVERITY__)
+#   define COVERITY_NOEXCEPT_FALSE noexcept(false)
+#else
+#   define COVERITY_NOEXCEPT_FALSE
+#endif
+
 #else
 
 #define SAL_THROW_EXTERN_C()
diff --git a/include/salhelper/simplereferenceobject.hxx b/include/salhelper/simplereferenceobject.hxx
index e21797ce91be..6671d92ad3b4 100644
--- a/include/salhelper/simplereferenceobject.hxx
+++ b/include/salhelper/simplereferenceobject.hxx
@@ -89,7 +89,7 @@ public:
     static void operator delete(void * pPtr, std::nothrow_t const & rNothrow);
 
 protected:
-    virtual ~SimpleReferenceObject();
+    virtual ~SimpleReferenceObject() COVERITY_NOEXCEPT_FALSE;
 
 private:
     oslInterlockedCount m_nCount;
diff --git a/include/svl/SfxBroadcaster.hxx b/include/svl/SfxBroadcaster.hxx
index e5fb5e16b96a..bacef8d2d3ce 100644
--- a/include/svl/SfxBroadcaster.hxx
+++ b/include/svl/SfxBroadcaster.hxx
@@ -43,7 +43,7 @@ public:
 
                             SfxBroadcaster();
                             SfxBroadcaster( const SfxBroadcaster &rBC );
-    virtual                 ~SfxBroadcaster();
+    virtual                 ~SfxBroadcaster() COVERITY_NOEXCEPT_FALSE;
 
     void                    Broadcast( const SfxHint &rHint );
     bool                    HasListeners() const;
diff --git a/include/svl/hint.hxx b/include/svl/hint.hxx
index f7f0c73e062e..2b9c4131a884 100644
--- a/include/svl/hint.hxx
+++ b/include/svl/hint.hxx
@@ -119,7 +119,7 @@ private:
 public:
     SfxHint() : mnId(SfxHintId::NONE) {}
     explicit SfxHint( SfxHintId nId ) : mnId(nId) {}
-    virtual ~SfxHint();
+    virtual ~SfxHint() COVERITY_NOEXCEPT_FALSE;
     SfxHintId GetId() const { return mnId; }
 };
 
diff --git a/include/svl/listener.hxx b/include/svl/listener.hxx
index 8ac8e08e91b3..5f2850ef7f19 100644
--- a/include/svl/listener.hxx
+++ b/include/svl/listener.hxx
@@ -46,7 +46,7 @@ public:
 
     SvtListener();
     SvtListener( const SvtListener &r );
-    virtual ~SvtListener();
+    virtual ~SvtListener() COVERITY_NOEXCEPT_FALSE;
 
     bool StartListening( SvtBroadcaster& rBroadcaster );
     bool EndListening( SvtBroadcaster& rBroadcaster );
diff --git a/include/svl/lstner.hxx b/include/svl/lstner.hxx
index 985ff526b7ee..527a13baa834 100644
--- a/include/svl/lstner.hxx
+++ b/include/svl/lstner.hxx
@@ -37,7 +37,7 @@ public:
 
                         SfxListener();
                         SfxListener( const SfxListener &rCopy );
-    virtual             ~SfxListener();
+    virtual             ~SfxListener() COVERITY_NOEXCEPT_FALSE;
 
     void                StartListening( SfxBroadcaster& rBroadcaster, bool bPreventDups = false );
     void                EndListening( SfxBroadcaster& rBroadcaster, bool bAllDups = false );
diff --git a/include/svl/undo.hxx b/include/svl/undo.hxx
index b3301f6f6166..7791d4a4b333 100644
--- a/include/svl/undo.hxx
+++ b/include/svl/undo.hxx
@@ -50,7 +50,7 @@ class SVL_DLLPUBLIC SfxUndoAction
 {
 public:
                             SfxUndoAction();
-    virtual                 ~SfxUndoAction();
+    virtual                 ~SfxUndoAction() COVERITY_NOEXCEPT_FALSE;
 
     virtual void            Undo();
     virtual void            UndoWithContext( SfxUndoContext& i_context );
diff --git a/include/svx/sdr/contact/objectcontact.hxx b/include/svx/sdr/contact/objectcontact.hxx
index 7185aa20132b..4722a4f376e9 100644
--- a/include/svx/sdr/contact/objectcontact.hxx
+++ b/include/svx/sdr/contact/objectcontact.hxx
@@ -93,7 +93,7 @@ protected:
 public:
     // basic constructor
     ObjectContact();
-    virtual ~ObjectContact();
+    virtual ~ObjectContact() COVERITY_NOEXCEPT_FALSE;
 
     // LazyInvalidate request. This is used from the VOCs to mark that they
     // got invalidated by an ActionChanged() call. An active view needs to remember
diff --git a/include/tools/ref.hxx b/include/tools/ref.hxx
index bb32d486339e..68a1c3f56f09 100644
--- a/include/tools/ref.hxx
+++ b/include/tools/ref.hxx
@@ -126,7 +126,7 @@ class TOOLS_DLLPUBLIC SvRefBase
     unsigned int bNoDelete : 1;
 
 protected:
-    virtual         ~SvRefBase();
+    virtual         ~SvRefBase() COVERITY_NOEXCEPT_FALSE;
 
 public:
                     SvRefBase() : nRefCount(0), bNoDelete(1) {}
@@ -217,6 +217,9 @@ public:
     SvCompatWeakRef( ) {}
     SvCompatWeakRef( T* pObj )
                          {  if( pObj ) _xHdl = pObj->GetHdl(); }
+#if defined(__COVERITY__)
+    ~SvCompatWeakRef() COVERITY_NOEXCEPT_FALSE {}
+#endif
     SvCompatWeakRef& operator = ( T * pObj )
                          {  _xHdl = pObj ? pObj->GetHdl() : nullptr; return *this; }
     bool          is() const
diff --git a/include/vcl/scheduler.hxx b/include/vcl/scheduler.hxx
index a34c7c14f9ab..86c6c5bead01 100644
--- a/include/vcl/scheduler.hxx
+++ b/include/vcl/scheduler.hxx
@@ -104,7 +104,7 @@ protected:
 public:
     Task( const sal_Char *pDebugName );
     Task( const Task& rTask );
-    virtual ~Task();
+    virtual ~Task() COVERITY_NOEXCEPT_FALSE;
     Task& operator=( const Task& rTask );
 
     void            SetPriority(TaskPriority ePriority) { mePriority = ePriority; }
diff --git a/sal/rtl/ustring.cxx b/sal/rtl/ustring.cxx
index 85ac84a97538..7940d5af1240 100644
--- a/sal/rtl/ustring.cxx
+++ b/sal/rtl/ustring.cxx
@@ -612,7 +612,13 @@ void rtl_uString_newConcatAsciiL(
     assert(right != nullptr);
     assert(rightLength >= 0);
     if (left->length > std::numeric_limits<sal_Int32>::max() - rightLength) {
+#if !defined(__COVERITY__)
         throw std::length_error("rtl_uString_newConcatAsciiL");
+#else
+        //coverity doesn't report std::bad_alloc as an unhandled exception when
+        //potentially thrown from destructors but does report std::length_error
+        throw std::bad_alloc();
+#endif
     }
     sal_Int32 n = left->length + rightLength;
     rtl_uString_assign(newString, left);
@@ -634,7 +640,13 @@ void rtl_uString_newConcatUtf16L(
     assert(right != nullptr);
     assert(rightLength >= 0);
     if (left->length > std::numeric_limits<sal_Int32>::max() - rightLength) {
+#if !defined(__COVERITY__)
         throw std::length_error("rtl_uString_newConcatUtf16L");
+#else
+        //coverity doesn't report std::bad_alloc as an unhandled exception when
+        //potentially thrown from destructors but does report std::length_error
+        throw std::bad_alloc();
+#endif
     }
     sal_Int32 n = left->length + rightLength;
     rtl_uString_assign(newString, left);
diff --git a/sc/inc/colcontainer.hxx b/sc/inc/colcontainer.hxx
index 21463edb0bd4..92fff8f4a42e 100644
--- a/sc/inc/colcontainer.hxx
+++ b/sc/inc/colcontainer.hxx
@@ -36,7 +36,7 @@ class ScColContainer
 
 public:
     ScColContainer( ScDocument* pDoc, const size_t nSize );
-    ~ScColContainer();
+    ~ScColContainer() COVERITY_NOEXCEPT_FALSE;
 
     const ScColumn& operator[] ( const size_t nIndex ) const
     {
diff --git a/sc/inc/colorscale.hxx b/sc/inc/colorscale.hxx
index 840b6824963d..bdf0148268cf 100644
--- a/sc/inc/colorscale.hxx
+++ b/sc/inc/colorscale.hxx
@@ -55,7 +55,7 @@ public:
     ScColorScaleEntry();
     ScColorScaleEntry(const ScColorScaleEntry& rEntry);
     ScColorScaleEntry(ScDocument* pDoc, const ScColorScaleEntry& rEntry);
-    ~ScColorScaleEntry();
+    ~ScColorScaleEntry() COVERITY_NOEXCEPT_FALSE;
 
     const Color& GetColor() const { return maColor;}
     void SetColor(const Color&);
diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx
index 69caa12e648a..585b930cf56a 100644
--- a/sc/inc/column.hxx
+++ b/sc/inc/column.hxx
@@ -184,8 +184,8 @@ public:
         BROADCAST_BROADCASTERS      ///< broadcast only existing cell broadcasters => no AreaBroadcast of range!
     };
 
-                ScColumn();
-                ~ScColumn();
+    ScColumn();
+    ~ScColumn() COVERITY_NOEXCEPT_FALSE;
 
     void        Init(SCCOL nNewCol, SCTAB nNewTab, ScDocument* pDoc, bool bEmptyAttrArray = false);
 
diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx
index 1227847fea2e..eb55829d65fe 100644
--- a/sc/inc/table.hxx
+++ b/sc/inc/table.hxx
@@ -233,7 +233,7 @@ friend class sc::FormulaGroupAreaListener;
 public:
                 ScTable( ScDocument* pDoc, SCTAB nNewTab, const OUString& rNewName,
                          bool bColInfo = true, bool bRowInfo = true );
-                ~ScTable();
+                ~ScTable() COVERITY_NOEXCEPT_FALSE;
                 ScTable(const ScTable&) = delete;
     ScTable&    operator=(const ScTable&) = delete;
 
diff --git a/sc/qa/unit/helper/sorthelper.hxx b/sc/qa/unit/helper/sorthelper.hxx
index d094e0b16113..b1901000ff0b 100644
--- a/sc/qa/unit/helper/sorthelper.hxx
+++ b/sc/qa/unit/helper/sorthelper.hxx
@@ -32,7 +32,7 @@ public:
         SC_MOD()->SetInputOptions(aInputOptions);
         return bRet;
     }
-    virtual ~SortTypeSetter()
+    virtual ~SortTypeSetter() COVERITY_NOEXCEPT_FALSE
     {
         changeTo(mbSortRefUpdate);
     }
diff --git a/sc/source/core/data/colcontainer.cxx b/sc/source/core/data/colcontainer.cxx
index fa2a18feb257..cd185032ee8b 100644
--- a/sc/source/core/data/colcontainer.cxx
+++ b/sc/source/core/data/colcontainer.cxx
@@ -30,7 +30,7 @@ ScColContainer::ScColContainer( ScDocument* pDoc, const size_t nSize )
         aCols[nCol] = new ScColumn;
 }
 
-ScColContainer::~ScColContainer()
+ScColContainer::~ScColContainer() COVERITY_NOEXCEPT_FALSE
 {
     Clear();
 }
diff --git a/sc/source/core/data/colorscale.cxx b/sc/source/core/data/colorscale.cxx
index cfa93309ec63..6b9837bb4a68 100644
--- a/sc/source/core/data/colorscale.cxx
+++ b/sc/source/core/data/colorscale.cxx
@@ -194,7 +194,7 @@ ScColorScaleEntry::ScColorScaleEntry(ScDocument* pDoc, const ScColorScaleEntry&
     }
 }
 
-ScColorScaleEntry::~ScColorScaleEntry()
+ScColorScaleEntry::~ScColorScaleEntry() COVERITY_NOEXCEPT_FALSE
 {
     if(mpCell)
         mpCell->EndListeningTo(mpCell->GetDocument());
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index f0735c5a7948..17974f0aa46a 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -97,7 +97,7 @@ ScColumn::ScColumn() :
     maCells.resize(MAXROWCOUNT);
 }
 
-ScColumn::~ScColumn()
+ScColumn::~ScColumn() COVERITY_NOEXCEPT_FALSE
 {
     FreeAll();
     delete pAttrArray;
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 16e4909ab5ff..a3f81f202d2b 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -483,7 +483,7 @@ public:
         mpStylePool->SetSearchMask(SfxStyleFamily::Page);
     }
 
-    ~IdleCalcTextWidthScope()
+    ~IdleCalcTextWidthScope() COVERITY_NOEXCEPT_FALSE
     {
         SfxPrinter* pDev = mrDoc.GetPrinter();
         if (pDev)
diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx
index e527bb82ec5e..fe7b88966374 100644
--- a/sc/source/core/data/table1.cxx
+++ b/sc/source/core/data/table1.cxx
@@ -330,7 +330,7 @@ ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const OUString& rNewName,
         aCol[k].Init( k, nTab, pDocument, true );
 }
 
-ScTable::~ScTable()
+ScTable::~ScTable() COVERITY_NOEXCEPT_FALSE
 {
     if (!pDocument->IsInDtorClear())
     {
diff --git a/sc/source/core/inc/bcaslot.hxx b/sc/source/core/inc/bcaslot.hxx
index abffcb51a042..ce5f33384124 100644
--- a/sc/source/core/inc/bcaslot.hxx
+++ b/sc/source/core/inc/bcaslot.hxx
@@ -359,7 +359,7 @@ public:
         if (pBASM)
             pBASM->EnterBulkBroadcast();
     }
-    ~ScBulkBroadcast()
+    ~ScBulkBroadcast() COVERITY_NOEXCEPT_FALSE
     {
         if (pBASM)
             pBASM->LeaveBulkBroadcast( mnHintId );
diff --git a/sc/source/core/tool/scmatrix.cxx b/sc/source/core/tool/scmatrix.cxx
index 2f603e02ff71..675c05c8881e 100644
--- a/sc/source/core/tool/scmatrix.cxx
+++ b/sc/source/core/tool/scmatrix.cxx
@@ -232,7 +232,7 @@ public:
 
     ScMatrixImpl( size_t nC, size_t nR, const std::vector<double>& rInitVals );
 
-    ~ScMatrixImpl();
+    ~ScMatrixImpl() COVERITY_NOEXCEPT_FALSE;
 
     void Clear();
     void Resize(SCSIZE nC, SCSIZE nR);
@@ -346,7 +346,7 @@ ScMatrixImpl::ScMatrixImpl(SCSIZE nC, SCSIZE nR, double fInitVal) :
 ScMatrixImpl::ScMatrixImpl( size_t nC, size_t nR, const std::vector<double>& rInitVals ) :
     maMat(nR, nC, rInitVals.begin(), rInitVals.end()), maMatFlag(nR, nC), pErrorInterpreter(nullptr) {}
 
-ScMatrixImpl::~ScMatrixImpl()
+ScMatrixImpl::~ScMatrixImpl() COVERITY_NOEXCEPT_FALSE
 {
     Clear();
 }
diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx
index 0ece2cf55594..8ccfffa058a9 100644
--- a/sc/source/ui/docshell/docsh.cxx
+++ b/sc/source/ui/docshell/docsh.cxx
@@ -3117,7 +3117,7 @@ ScDocShellModificator::ScDocShellModificator( ScDocShell& rDS )
     rDoc.EnableIdle(false);
 }
 
-ScDocShellModificator::~ScDocShellModificator()
+ScDocShellModificator::~ScDocShellModificator() COVERITY_NOEXCEPT_FALSE
 {
     ScDocument& rDoc = rDocShell.GetDocument();
     rDoc.SetAutoCalcShellDisabled( bAutoCalcShellDisabled );
diff --git a/sc/source/ui/docshell/impex.cxx b/sc/source/ui/docshell/impex.cxx
index 936fdcf0e9b3..731f1a662c48 100644
--- a/sc/source/ui/docshell/impex.cxx
+++ b/sc/source/ui/docshell/impex.cxx
@@ -177,7 +177,7 @@ ScImportExport::ScImportExport( ScDocument* p, const OUString& rPos )
         bAll = true;
 }
 
-ScImportExport::~ScImportExport()
+ScImportExport::~ScImportExport() COVERITY_NOEXCEPT_FALSE
 {
     delete pUndoDoc;
     delete pExtOptions;
diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx
index 43204614e26d..5e2cbb8a5db2 100644
--- a/sc/source/ui/inc/docsh.hxx
+++ b/sc/source/ui/inc/docsh.hxx
@@ -444,7 +444,7 @@ class SC_DLLPUBLIC ScDocShellModificator
 
 public:
     explicit ScDocShellModificator( ScDocShell& );
-    ~ScDocShellModificator();
+    ~ScDocShellModificator() COVERITY_NOEXCEPT_FALSE;
     void            SetDocumentModified();
 };
 
diff --git a/sc/source/ui/inc/impex.hxx b/sc/source/ui/inc/impex.hxx
index 609bc3daed64..02b5349c2751 100644
--- a/sc/source/ui/inc/impex.hxx
+++ b/sc/source/ui/inc/impex.hxx
@@ -92,7 +92,7 @@ public:
     ScImportExport( ScDocument*, const OUString& );   // Range/cell input
     ScImportExport( ScDocument*, const ScAddress& );
     ScImportExport( ScDocument*, const ScRange& );
-   ~ScImportExport();
+   ~ScImportExport() COVERITY_NOEXCEPT_FALSE;
 
     void SetExtOptions( const ScAsciiOptions& rOpt );
     void SetFilterOptions( const OUString& rFilterOptions );
diff --git a/sc/source/ui/inc/viewdata.hxx b/sc/source/ui/inc/viewdata.hxx
index 0c0613526d8f..13d6514bea5c 100644
--- a/sc/source/ui/inc/viewdata.hxx
+++ b/sc/source/ui/inc/viewdata.hxx
@@ -247,7 +247,7 @@ private:
 public:
                     ScViewData( ScDocShell* pDocSh, ScTabViewShell* pViewSh );
                     ScViewData( const ScViewData& rViewData );
-                    ~ScViewData();
+                    ~ScViewData() COVERITY_NOEXCEPT_FALSE;
 
     void            InitData( ScDocument* pDocument );
 
diff --git a/sc/source/ui/unoobj/funcuno.cxx b/sc/source/ui/unoobj/funcuno.cxx
index 81e13bde7bd8..f7865ea7df76 100644
--- a/sc/source/ui/unoobj/funcuno.cxx
+++ b/sc/source/ui/unoobj/funcuno.cxx
@@ -67,7 +67,7 @@ private:
 
 public:
     explicit ScTempDocSource( ScTempDocCache& rDocCache );
-    ~ScTempDocSource();
+    ~ScTempDocSource() COVERITY_NOEXCEPT_FALSE;
 
     ScDocument*     GetDocument();
 };
@@ -93,7 +93,7 @@ ScTempDocSource::ScTempDocSource( ScTempDocCache& rDocCache ) :
     }
 }
 
-ScTempDocSource::~ScTempDocSource()
+ScTempDocSource::~ScTempDocSource() COVERITY_NOEXCEPT_FALSE
 {
     if ( pTempDoc )
         delete pTempDoc;
diff --git a/sc/source/ui/view/viewdata.cxx b/sc/source/ui/view/viewdata.cxx
index f4daf380d684..63257497cb7c 100644
--- a/sc/source/ui/view/viewdata.cxx
+++ b/sc/source/ui/view/viewdata.cxx
@@ -492,7 +492,7 @@ ScDocument* ScViewData::GetDocument() const
     return nullptr;
 }
 
-ScViewData::~ScViewData()
+ScViewData::~ScViewData() COVERITY_NOEXCEPT_FALSE
 {
     KillEditView();
     delete pOptions;
diff --git a/sd/source/ui/inc/OutlineView.hxx b/sd/source/ui/inc/OutlineView.hxx
index 7bbd68a47510..552bfa041595 100644
--- a/sd/source/ui/inc/OutlineView.hxx
+++ b/sd/source/ui/inc/OutlineView.hxx
@@ -228,7 +228,7 @@ class OutlineViewModelChangeGuard
 {
 public:
     OutlineViewModelChangeGuard( OutlineView& rView );
-    ~OutlineViewModelChangeGuard();
+    ~OutlineViewModelChangeGuard() COVERITY_NOEXCEPT_FALSE;
 private:
     OutlineView& mrView;
 };
diff --git a/sd/source/ui/inc/ToolBarManager.hxx b/sd/source/ui/inc/ToolBarManager.hxx
index 1fb29620d4ac..782f23f006e7 100644
--- a/sd/source/ui/inc/ToolBarManager.hxx
+++ b/sd/source/ui/inc/ToolBarManager.hxx
@@ -240,7 +240,7 @@ public:
     class UpdateLock { public:
         UpdateLock(const std::shared_ptr<ToolBarManager>& rpManager)
             : mpManager(rpManager) { mpManager->LockUpdate(); }
-        ~UpdateLock() { mpManager->UnlockUpdate(); }
+        ~UpdateLock() COVERITY_NOEXCEPT_FALSE { mpManager->UnlockUpdate(); }
     private:
         std::shared_ptr<ToolBarManager> mpManager;
     };
diff --git a/sd/source/ui/inc/ViewShellManager.hxx b/sd/source/ui/inc/ViewShellManager.hxx
index 7ffb1e352652..da6fadb944b7 100644
--- a/sd/source/ui/inc/ViewShellManager.hxx
+++ b/sd/source/ui/inc/ViewShellManager.hxx
@@ -174,7 +174,7 @@ public:
     public:
         UpdateLock (const std::shared_ptr<ViewShellManager>& rpManager)
             : mpManager(rpManager) {mpManager->LockUpdate();}
-        ~UpdateLock() {mpManager->UnlockUpdate();};
+        ~UpdateLock() COVERITY_NOEXCEPT_FALSE {mpManager->UnlockUpdate();}
     private:
         std::shared_ptr<ViewShellManager> mpManager;
     };
diff --git a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
index dfbf1692ef8d..bb08715be29b 100644
--- a/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
+++ b/sd/source/ui/slidesorter/controller/SlideSorterController.cxx
@@ -926,7 +926,7 @@ SlideSorterController::ModelChangeLock::ModelChangeLock (
     mpController->LockModelChange();
 }
 
-SlideSorterController::ModelChangeLock::~ModelChangeLock()
+SlideSorterController::ModelChangeLock::~ModelChangeLock() COVERITY_NOEXCEPT_FALSE
 {
     Release();
 }
diff --git a/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.cxx b/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.cxx
index 801e2a3c305b..a9e18419a491 100644
--- a/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.cxx
@@ -62,7 +62,7 @@ DragAndDropContext::DragAndDropContext (SlideSorter& rSlideSorter)
     rSlideSorter.GetController().GetInsertionIndicatorHandler()->UpdateIndicatorIcon(pTransferable);
 }
 
-DragAndDropContext::~DragAndDropContext()
+DragAndDropContext::~DragAndDropContext() COVERITY_NOEXCEPT_FALSE
 {
     SetTargetSlideSorter (Point(0,0));
 }
diff --git a/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.hxx b/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.hxx
index dcced0be25e1..60547a8489ff 100644
--- a/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.hxx
+++ b/sd/source/ui/slidesorter/controller/SlsDragAndDropContext.hxx
@@ -43,7 +43,7 @@ public:
         when provided, the pages in the transferable.
     */
     explicit DragAndDropContext (SlideSorter& rSlideSorter);
-    ~DragAndDropContext();
+    ~DragAndDropContext() COVERITY_NOEXCEPT_FALSE;
 
     /** Call this method (for example as reaction to ESC key press) to avoid
         processing (ie moving or inserting) the substition when the called
diff --git a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
index 08671ecbbd63..67d9e069f6d3 100644
--- a/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
+++ b/sd/source/ui/slidesorter/controller/SlsSelectionFunction.cxx
@@ -145,7 +145,7 @@ public:
         SlideSorter& rSlideSorter,
         SelectionFunction& rSelectionFunction,
         const bool bIsMouseOverIndicatorAllowed);
-    virtual ~ModeHandler();
+    virtual ~ModeHandler() COVERITY_NOEXCEPT_FALSE;
 
     virtual Mode GetMode() const = 0;
     virtual void Abort() = 0;
@@ -880,7 +880,7 @@ SelectionFunction::ModeHandler::ModeHandler (
 {
 }
 
-SelectionFunction::ModeHandler::~ModeHandler()
+SelectionFunction::ModeHandler::~ModeHandler() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
index cee9f9631bd8..f7674550f008 100644
--- a/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
+++ b/sd/source/ui/slidesorter/inc/controller/SlideSorterController.hxx
@@ -145,7 +145,7 @@ public:
     class ModelChangeLock
     {public:
         ModelChangeLock (SlideSorterController& rController);
-        ~ModelChangeLock();
+        ~ModelChangeLock() COVERITY_NOEXCEPT_FALSE;
         void Release();
     private:
         SlideSorterController* mpController;
diff --git a/sd/source/ui/view/ViewShellManager.cxx b/sd/source/ui/view/ViewShellManager.cxx
index c53179bb9cd2..7b26449ed189 100644
--- a/sd/source/ui/view/ViewShellManager.cxx
+++ b/sd/source/ui/view/ViewShellManager.cxx
@@ -96,7 +96,7 @@ public:
     Implementation (
         ViewShellManager& rManager,
         ViewShellBase& rBase);
-    ~Implementation();
+    ~Implementation() COVERITY_NOEXCEPT_FALSE;
 
     void AddShellFactory (
         const SfxShell* pViewShell,
@@ -129,7 +129,7 @@ public:
     {
     public:
         explicit UpdateLock (Implementation& rImpl) : mrImpl(rImpl) {mrImpl.LockUpdate();}
-        ~UpdateLock() {mrImpl.UnlockUpdate();};
+        ~UpdateLock() COVERITY_NOEXCEPT_FALSE {mrImpl.UnlockUpdate();}
     private:
         Implementation& mrImpl;
     };
@@ -376,7 +376,7 @@ ViewShellManager::Implementation::Implementation (
     (void)rManager;
 }
 
-ViewShellManager::Implementation::~Implementation()
+ViewShellManager::Implementation::~Implementation() COVERITY_NOEXCEPT_FALSE
 {
     Shutdown();
 }
diff --git a/sd/source/ui/view/outlview.cxx b/sd/source/ui/view/outlview.cxx
index 9627e99edc09..7e4e6f1062ed 100644
--- a/sd/source/ui/view/outlview.cxx
+++ b/sd/source/ui/view/outlview.cxx
@@ -1758,7 +1758,7 @@ OutlineViewModelChangeGuard::OutlineViewModelChangeGuard( OutlineView& rView )
     mrView.BeginModelChange();
 }
 
-OutlineViewModelChangeGuard::~OutlineViewModelChangeGuard()
+OutlineViewModelChangeGuard::~OutlineViewModelChangeGuard() COVERITY_NOEXCEPT_FALSE
 {
     mrView.EndModelChange();
 }
diff --git a/svl/source/notify/SfxBroadcaster.cxx b/svl/source/notify/SfxBroadcaster.cxx
index 82a16d180211..f4e00e860333 100644
--- a/svl/source/notify/SfxBroadcaster.cxx
+++ b/svl/source/notify/SfxBroadcaster.cxx
@@ -52,7 +52,7 @@ void SfxBroadcaster::Broadcast( const SfxHint &rHint )
 
 // unregister all listeners
 
-SfxBroadcaster::~SfxBroadcaster()
+SfxBroadcaster::~SfxBroadcaster() COVERITY_NOEXCEPT_FALSE
 {
     Broadcast( SfxHint(SfxHintId::Dying) );
 
diff --git a/svl/source/notify/hint.cxx b/svl/source/notify/hint.cxx
index 4d7cceda565e..ad36d5098e1c 100644
--- a/svl/source/notify/hint.cxx
+++ b/svl/source/notify/hint.cxx
@@ -23,7 +23,7 @@
 
 // virtual dtor for the typical base-class Hint
 
-SfxHint::~SfxHint()
+SfxHint::~SfxHint() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/svl/source/notify/listener.cxx b/svl/source/notify/listener.cxx
index e1f193cb3753..6caa8af78702 100644
--- a/svl/source/notify/listener.cxx
+++ b/svl/source/notify/listener.cxx
@@ -33,7 +33,7 @@ SvtListener::SvtListener() {}
 SvtListener::SvtListener( const SvtListener &r ) :
     maBroadcasters(r.maBroadcasters) {}
 
-SvtListener::~SvtListener()
+SvtListener::~SvtListener() COVERITY_NOEXCEPT_FALSE
 {
     // Unregister itself from all broadcasters it's listening to.
     EndListeningAll();
diff --git a/svl/source/notify/lstner.cxx b/svl/source/notify/lstner.cxx
index 070cc9edf04d..4279e12f4a5c 100644
--- a/svl/source/notify/lstner.cxx
+++ b/svl/source/notify/lstner.cxx
@@ -50,7 +50,7 @@ SfxListener::SfxListener( const SfxListener &rListener ) : mpImpl(new Impl)
 
 // unregisters the SfxListener from its SfxBroadcasters
 
-SfxListener::~SfxListener()
+SfxListener::~SfxListener() COVERITY_NOEXCEPT_FALSE
 {
     // unregister at all remaining broadcasters
     for ( size_t nPos = 0; nPos < mpImpl->maBCs.size(); ++nPos )
diff --git a/svl/source/undo/undo.cxx b/svl/source/undo/undo.cxx
index d837621fba87..db6be7846ef8 100644
--- a/svl/source/undo/undo.cxx
+++ b/svl/source/undo/undo.cxx
@@ -48,7 +48,7 @@ SfxUndoContext::~SfxUndoContext()
 }
 
 
-SfxUndoAction::~SfxUndoAction()
+SfxUndoAction::~SfxUndoAction() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/svx/source/sdr/contact/objectcontact.cxx b/svx/source/sdr/contact/objectcontact.cxx
index 7322e3ca1560..5150328d4d6c 100644
--- a/svx/source/sdr/contact/objectcontact.cxx
+++ b/svx/source/sdr/contact/objectcontact.cxx
@@ -41,7 +41,7 @@ ObjectContact::ObjectContact()
 {
 }
 
-ObjectContact::~ObjectContact()
+ObjectContact::~ObjectContact() COVERITY_NOEXCEPT_FALSE
 {
     // get rid of all registered contacts
     // #i84257# To avoid that each 'delete pCandidate' again uses
diff --git a/sw/inc/calbck.hxx b/sw/inc/calbck.hxx
index a6f07772c045..bfae004e9e57 100644
--- a/sw/inc/calbck.hxx
+++ b/sw/inc/calbck.hxx
@@ -86,7 +86,7 @@ namespace sw
             WriterListener()
                 : m_pLeft(nullptr), m_pRight(nullptr)
             {}
-            virtual ~WriterListener() {};
+            virtual ~WriterListener() COVERITY_NOEXCEPT_FALSE {}
             virtual void SwClientNotify( const SwModify&, const SfxHint& rHint) =0;
         public:
             bool IsLast() const { return !m_pLeft && !m_pRight; }
diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx
index 6f3669a95ba1..1bc5c1b0eec5 100644
--- a/sw/inc/editsh.hxx
+++ b/sw/inc/editsh.hxx
@@ -962,7 +962,7 @@ class SwActContext {
     SwEditShell & m_rShell;
 public:
     SwActContext(SwEditShell *pShell);
-    ~SwActContext();
+    ~SwActContext() COVERITY_NOEXCEPT_FALSE;
 };
 
  /// Class for automated call of Start- and EndCursorMove().
@@ -970,7 +970,7 @@ class SwMvContext {
     SwEditShell & m_rShell;
 public:
     SwMvContext(SwEditShell *pShell);
-    ~SwMvContext();
+    ~SwMvContext() COVERITY_NOEXCEPT_FALSE;
 };
 
 #endif
diff --git a/sw/inc/ndole.hxx b/sw/inc/ndole.hxx
index c878689b78eb..86e0798a5697 100644
--- a/sw/inc/ndole.hxx
+++ b/sw/inc/ndole.hxx
@@ -54,7 +54,7 @@ class SW_DLLPUBLIC SwOLEObj
 public:
     SwOLEObj( const svt::EmbeddedObjectRef& pObj );
     SwOLEObj( const OUString &rName, sal_Int64 nAspect );
-    ~SwOLEObj();
+    ~SwOLEObj() COVERITY_NOEXCEPT_FALSE;
 
     bool UnloadObject();
     static bool UnloadObject( css::uno::Reference< css::embed::XEmbeddedObject > const & xObj,
diff --git a/sw/inc/ring.hxx b/sw/inc/ring.hxx
index a03db4c68cee..79a1c93fb82d 100644
--- a/sw/inc/ring.hxx
+++ b/sw/inc/ring.hxx
@@ -42,7 +42,7 @@ namespace sw
             typedef typename std::add_const<value_type>::type const_value_type;
             typedef RingContainer<value_type> ring_container;
             typedef RingContainer<const_value_type> const_ring_container;
-            virtual ~Ring()
+            virtual ~Ring() COVERITY_NOEXCEPT_FALSE
                 { unlink(); };
             /** algo::unlink is buggy! don't call it directly! */
             void unlink()
diff --git a/sw/inc/unobaseclass.hxx b/sw/inc/unobaseclass.hxx
index f72f07d5c83a..d03a5dd37ca5 100644
--- a/sw/inc/unobaseclass.hxx
+++ b/sw/inc/unobaseclass.hxx
@@ -66,7 +66,7 @@ private:
 
 public:
         UnoActionContext(SwDoc *const pDoc);
-        ~UnoActionContext();
+        ~UnoActionContext() COVERITY_NOEXCEPT_FALSE;
 };
 
 /*
diff --git a/sw/inc/unochart.hxx b/sw/inc/unochart.hxx
index 38e3b34e6a2c..6b57b32ac708 100644
--- a/sw/inc/unochart.hxx
+++ b/sw/inc/unochart.hxx
@@ -87,7 +87,7 @@ class SwChartLockController_Helper
 
 public:
     SwChartLockController_Helper( SwDoc *pDocument );
-    ~SwChartLockController_Helper();
+    ~SwChartLockController_Helper() COVERITY_NOEXCEPT_FALSE;
 
     void StartOrContinueLocking();
     void Disconnect();
diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx
index cbda86ddf3eb..685c37c7ec56 100644
--- a/sw/source/core/edit/edws.cxx
+++ b/sw/source/core/edit/edws.cxx
@@ -149,7 +149,7 @@ SwActContext::SwActContext(SwEditShell *pShell)
     m_rShell.StartAction();
 }
 
-SwActContext::~SwActContext()
+SwActContext::~SwActContext() COVERITY_NOEXCEPT_FALSE
 {
     m_rShell.EndAction();
 }
@@ -160,7 +160,7 @@ SwMvContext::SwMvContext(SwEditShell *pShell)
     m_rShell.SttCursorMove();
 }
 
-SwMvContext::~SwMvContext()
+SwMvContext::~SwMvContext() COVERITY_NOEXCEPT_FALSE
 {
     m_rShell.EndCursorMove();
 }
diff --git a/sw/source/core/inc/frmtool.hxx b/sw/source/core/inc/frmtool.hxx
index b9093eb523c5..2f4f2d8d9e6c 100644
--- a/sw/source/core/inc/frmtool.hxx
+++ b/sw/source/core/inc/frmtool.hxx
@@ -184,7 +184,7 @@ protected:
 
 public:
     SwFrameNotify( SwFrame *pFrame );
-    ~SwFrameNotify();
+    ~SwFrameNotify() COVERITY_NOEXCEPT_FALSE;
 
     const SwRect &Frame() const { return maFrame; }
     void SetInvaKeep() { mbInvaKeep = true; }
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index acd518932a47..1ebc28a52498 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -99,7 +99,7 @@ SwFrameNotify::SwFrameNotify( SwFrame *pF ) :
     mbHadFollow = pF->IsContentFrame() && static_cast<SwContentFrame*>(pF)->GetFollow();
 }
 
-SwFrameNotify::~SwFrameNotify()
+SwFrameNotify::~SwFrameNotify() COVERITY_NOEXCEPT_FALSE
 {
     SwRectFnSet aRectFnSet(mpFrame);
     const bool bAbsP = aRectFnSet.PosDiff(maFrame, mpFrame->Frame());
diff --git a/sw/source/core/ole/ndole.cxx b/sw/source/core/ole/ndole.cxx
index aa7449a6a1ec..1f6d5ce52f23 100644
--- a/sw/source/core/ole/ndole.cxx
+++ b/sw/source/core/ole/ndole.cxx
@@ -761,7 +761,7 @@ SwOLEObj::SwOLEObj( const OUString &rString, sal_Int64 nAspect ) :
     xOLERef.SetViewAspect( nAspect );
 }
 
-SwOLEObj::~SwOLEObj()
+SwOLEObj::~SwOLEObj() COVERITY_NOEXCEPT_FALSE
 {
     if(m_pDeflateData)
     {
diff --git a/sw/source/core/text/possiz.hxx b/sw/source/core/text/possiz.hxx
index 4c59142f9ce4..e256494911e3 100644
--- a/sw/source/core/text/possiz.hxx
+++ b/sw/source/core/text/possiz.hxx
@@ -38,6 +38,12 @@ public:
         ,nHeight(sal_uInt16(rSize.Height()))
     {
     }
+#if defined(__COVERITY__)
+    ~SwPosSize() COVERITY_NOEXCEPT_FALSE {}
+    SwPosSize(const SwPosSize&) = default;
+    SwPosSize(SwPosSize&&) = default;
+    SwPosSize& operator=(SwPosSize&&) = default;
+#endif
     sal_uInt16 Height() const { return nHeight; }
     void Height( const sal_uInt16 nNew ) { nHeight = nNew; }
     sal_uInt16 Width() const { return nWidth; }
diff --git a/sw/source/core/undo/docundo.cxx b/sw/source/core/undo/docundo.cxx
index 63cff9f61230..4c09fa2b1048 100644
--- a/sw/source/core/undo/docundo.cxx
+++ b/sw/source/core/undo/docundo.cxx
@@ -546,7 +546,7 @@ public:
             m_rShell.Push(); // prevent modification of current cursor
         }
     }
-    ~CursorGuard()
+    ~CursorGuard() COVERITY_NOEXCEPT_FALSE
     {
         if (m_bSaveCursor)
         {
diff --git a/sw/source/core/unocore/unochart.cxx b/sw/source/core/unocore/unochart.cxx
index aebcff0a7700..c29296165256 100644
--- a/sw/source/core/unocore/unochart.cxx
+++ b/sw/source/core/unocore/unochart.cxx
@@ -92,7 +92,7 @@ SwChartLockController_Helper::SwChartLockController_Helper( SwDoc *pDocument ) :
     aUnlockTimer.SetDebugName( "sw::SwChartLockController_Helper aUnlockTimer" );
 }
 
-SwChartLockController_Helper::~SwChartLockController_Helper()
+SwChartLockController_Helper::~SwChartLockController_Helper() COVERITY_NOEXCEPT_FALSE
 {
     if (pDoc)   // still connected?
         Disconnect();
diff --git a/sw/source/core/unocore/unoobj2.cxx b/sw/source/core/unocore/unoobj2.cxx
index 53800f99400a..493470b5cd5d 100644
--- a/sw/source/core/unocore/unoobj2.cxx
+++ b/sw/source/core/unocore/unoobj2.cxx
@@ -248,7 +248,7 @@ UnoActionContext::UnoActionContext(SwDoc *const pDoc)
     }
 }
 
-UnoActionContext::~UnoActionContext()
+UnoActionContext::~UnoActionContext() COVERITY_NOEXCEPT_FALSE
 {
     // Doc may already have been removed here
     if (m_pDoc)
diff --git a/sw/source/uibase/app/docstyle.cxx b/sw/source/uibase/app/docstyle.cxx
index b694ca7f0a51..55dab8a712ad 100644
--- a/sw/source/uibase/app/docstyle.cxx
+++ b/sw/source/uibase/app/docstyle.cxx
@@ -93,7 +93,7 @@ class SwImplShellAction
     CurrShell* pCurrSh;
 public:
     explicit SwImplShellAction( SwDoc& rDoc );
-    ~SwImplShellAction();
+    ~SwImplShellAction() COVERITY_NOEXCEPT_FALSE;
     SwImplShellAction(const SwImplShellAction&) = delete;
     SwImplShellAction& operator=(const SwImplShellAction&) = delete;
 };
@@ -113,7 +113,7 @@ SwImplShellAction::SwImplShellAction( SwDoc& rDoc )
     }
 }
 
-SwImplShellAction::~SwImplShellAction()
+SwImplShellAction::~SwImplShellAction() COVERITY_NOEXCEPT_FALSE
 {
     if( pCurrSh )
     {
diff --git a/sw/source/uibase/dochdl/swdtflvr.cxx b/sw/source/uibase/dochdl/swdtflvr.cxx
index edcad002edc8..0dd00ae68382 100644
--- a/sw/source/uibase/dochdl/swdtflvr.cxx
+++ b/sw/source/uibase/dochdl/swdtflvr.cxx
@@ -192,7 +192,7 @@ public:
             pSh->DelRight();
         pSh->StartAllAction();
     }
-    ~SwTrnsfrActionAndUndo()
+    ~SwTrnsfrActionAndUndo() COVERITY_NOEXCEPT_FALSE
     {
         pSh->EndUndo();
         pSh->EndAllAction();
diff --git a/sw/source/uibase/wrtsh/move.cxx b/sw/source/uibase/wrtsh/move.cxx
index 34ac8058f95e..5612f5f856b9 100644
--- a/sw/source/uibase/wrtsh/move.cxx
+++ b/sw/source/uibase/wrtsh/move.cxx
@@ -48,7 +48,7 @@ public:
         ( pSh = pWrtSh )->MoveCursor( bSel );
         pWrtSh->GetView().GetViewFrame()->GetBindings().Invalidate(SID_HYPERLINK_GETLINK);
     }
-    ~ShellMoveCursor()
+    ~ShellMoveCursor() COVERITY_NOEXCEPT_FALSE
     {
         if( bAct )
         {
diff --git a/tools/source/ref/ref.cxx b/tools/source/ref/ref.cxx
index 8be92d6547e8..283776dd4cc3 100644
--- a/tools/source/ref/ref.cxx
+++ b/tools/source/ref/ref.cxx
@@ -19,7 +19,7 @@
 
 #include <tools/ref.hxx>
 
-SvRefBase::~SvRefBase()
+SvRefBase::~SvRefBase() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/vcl/inc/saldatabasic.hxx b/vcl/inc/saldatabasic.hxx
index 25f3b1881408..087edd6cd360 100644
--- a/vcl/inc/saldatabasic.hxx
+++ b/vcl/inc/saldatabasic.hxx
@@ -45,7 +45,7 @@ public:
 #endif
 
     SalData();
-    virtual ~SalData();
+    virtual ~SalData() COVERITY_NOEXCEPT_FALSE;
 #ifdef IOS
     SystemFontList*               mpFontList;
     CGColorSpaceRef               mxRGBSpace;
diff --git a/vcl/inc/saltimer.hxx b/vcl/inc/saltimer.hxx
index 4d8541801ef2..234a18228af2 100644
--- a/vcl/inc/saltimer.hxx
+++ b/vcl/inc/saltimer.hxx
@@ -37,7 +37,7 @@ class VCL_PLUGIN_PUBLIC SalTimer
     SALTIMERPROC        m_pProc;
 public:
     SalTimer() : m_pProc( nullptr ) {}
-    virtual ~SalTimer();
+    virtual ~SalTimer() COVERITY_NOEXCEPT_FALSE;
 
     // AutoRepeat and Restart
     virtual void            Start( sal_uLong nMS ) = 0;
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index dec8bdb64683..82f8ab0b38ce 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -97,7 +97,7 @@ SalI18NImeStatus* SalInstance::CreateI18NImeStatus()
     return new SalI18NImeStatus;
 }
 
-SalTimer::~SalTimer()
+SalTimer::~SalTimer() COVERITY_NOEXCEPT_FALSE
 {
 }
 
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index a3de686aa2a7..e5109bc71f1c 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -351,7 +351,7 @@ Task::Task( const Task& rTask )
         Start();
 }
 
-Task::~Task()
+Task::~Task() COVERITY_NOEXCEPT_FALSE
 {
     if ( mpSchedulerData )
     {
diff --git a/vcl/unx/generic/plugadapt/salplug.cxx b/vcl/unx/generic/plugadapt/salplug.cxx
index 65f721730941..09462023320a 100644
--- a/vcl/unx/generic/plugadapt/salplug.cxx
+++ b/vcl/unx/generic/plugadapt/salplug.cxx
@@ -322,7 +322,7 @@ SalData::SalData() :
 {
 }
 
-SalData::~SalData()
+SalData::~SalData() COVERITY_NOEXCEPT_FALSE
 {
     psp::PrinterInfoManager::release();
 }


More information about the Libreoffice-commits mailing list