[Libreoffice-commits] core.git: 31 commits - avmedia/source clew/source connectivity/source dtrans/source dtrans/test embedserv/source extensions/source external/boost external/liblangtag external/nss external/python33 external/redland fpicker/source hwpfilter/source rsc/source sdext/source vcl/glyphy vcl/opengl vcl/source vcl/win winaccessibility/inc winaccessibility/source

Stephan Bergmann sbergman at redhat.com
Fri Mar 4 09:11:43 UTC 2016


 avmedia/source/win/interface.hxx                                   |    8 +
 avmedia/source/win/window.cxx                                      |    1 
 clew/source/clew.c                                                 |    1 
 connectivity/source/drivers/ado/APreparedStatement.cxx             |    2 
 dtrans/source/inc/DtObjFactory.hxx                                 |    9 -
 dtrans/source/win32/clipb/WinClipbImpl.cxx                         |    8 -
 dtrans/source/win32/dnd/source.cxx                                 |    2 
 dtrans/source/win32/dnd/source.hxx                                 |    7 
 dtrans/source/win32/dnd/target.cxx                                 |    4 
 dtrans/source/win32/dnd/target.hxx                                 |    7 
 dtrans/source/win32/dtobj/DOTransferable.cxx                       |   13 +
 dtrans/source/win32/dtobj/DOTransferable.hxx                       |    7 
 dtrans/source/win32/dtobj/DtObjFactory.cxx                         |   15 -
 dtrans/source/win32/dtobj/XNotifyingDataObject.cxx                 |    1 
 dtrans/test/win32/dnd/atlwindow.cxx                                |    2 
 dtrans/test/win32/dnd/atlwindow.hxx                                |    2 
 embedserv/source/embed/docholder.cxx                               |    3 
 embedserv/source/embed/esdll.cxx                                   |    1 
 embedserv/source/embed/tracker.cxx                                 |    2 
 embedserv/source/inc/embeddocaccess.hxx                            |    1 
 embedserv/source/inc/stdafx.h                                      |    1 
 embedserv/source/inprocserv/inprocembobj.h                         |    4 
 extensions/source/ole/comifaces.hxx                                |    7 
 extensions/source/ole/oledll.cxx                                   |    1 
 extensions/source/ole/servprov.hxx                                 |    3 
 extensions/source/ole/wincrap.hxx                                  |    1 
 extensions/source/ole/windata.hxx                                  |    1 
 external/boost/clang-cl.patch.0                                    |   76 ++++++++++
 external/liblangtag/UnpackedTarball_langtag.mk                     |    5 
 external/liblangtag/clang-cl.patch.0                               |   20 ++
 external/nss/clang-cl.patch.0                                      |   22 ++
 external/python33/UnpackedTarball_python3.mk                       |    1 
 external/python33/clang-cl.patch.0                                 |   11 +
 external/redland/UnpackedTarball_rasqal.mk                         |    1 
 external/redland/UnpackedTarball_redland.mk                        |    1 
 external/redland/rasqal/clang-cl.patch                             |   11 +
 external/redland/redland/clang-cl.patch                            |   20 ++
 fpicker/source/win32/filepicker/IVistaFilePickerInternalNotify.hxx |    3 
 fpicker/source/win32/filepicker/VistaFilePicker.cxx                |    6 
 fpicker/source/win32/filepicker/WinFileOpenImpl.cxx                |    6 
 fpicker/source/win32/filepicker/WinFileOpenImpl.hxx                |    2 
 fpicker/source/win32/filepicker/customcontrolfactory.hxx           |   10 -
 fpicker/source/win32/folderpicker/FopEvtDisp.hxx                   |    3 
 hwpfilter/source/lexer.cxx                                         |    2 
 rsc/source/parser/rsckey.cxx                                       |    4 
 sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx              |    1 
 vcl/glyphy/demo/demo-shader.cc                                     |    4 
 vcl/opengl/win/blocklist_parser.cxx                                |    2 
 vcl/source/opengl/OpenGLContext.cxx                                |    8 -
 vcl/win/gdi/gdiimpl.cxx                                            |    3 
 vcl/win/gdi/salgdi.cxx                                             |    1 
 winaccessibility/inc/AccObject.hxx                                 |    8 +
 winaccessibility/inc/AccObjectWinManager.hxx                       |   10 +
 winaccessibility/source/UAccCOM/AccAction.cxx                      |   10 +
 winaccessibility/source/UAccCOM/AccComponent.cxx                   |   10 +
 winaccessibility/source/UAccCOM/AccEditableText.cxx                |   10 +
 winaccessibility/source/UAccCOM/AccHyperLink.cxx                   |   10 +
 winaccessibility/source/UAccCOM/AccHypertext.cxx                   |   10 +
 winaccessibility/source/UAccCOM/AccImage.cxx                       |   10 +
 winaccessibility/source/UAccCOM/AccRelation.cxx                    |   10 +
 winaccessibility/source/UAccCOM/AccTable.cxx                       |   10 +
 winaccessibility/source/UAccCOM/AccText.cxx                        |   10 +
 winaccessibility/source/UAccCOM/AccValue.cxx                       |   10 +
 winaccessibility/source/UAccCOM/EnumVariant.cxx                    |   10 +
 winaccessibility/source/UAccCOM/EnumVariant.h                      |    9 +
 winaccessibility/source/UAccCOM/MAccessible.cxx                    |   10 +
 winaccessibility/source/UAccCOM/UAccCOM.cxx                        |   10 +
 winaccessibility/source/UAccCOM/UNOXWrapper.cxx                    |   10 +
 winaccessibility/source/UAccCOM/UNOXWrapper.h                      |   11 +
 winaccessibility/source/UAccCOM/stdafx.h                           |    1 
 winaccessibility/source/service/AccObject.cxx                      |    2 
 winaccessibility/source/service/AccObjectManagerAgent.cxx          |    9 +
 winaccessibility/source/service/AccObjectWinManager.cxx            |    3 
 73 files changed, 423 insertions(+), 107 deletions(-)

New commits:
commit 3aafe0568be80120afcdd92ea491b55d66bcbac6
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:09:47 2016 +0100

    -Werror,-Wnon-virtual-dtor
    
    Why was CDTransObjFactory a class with virtual functions in the first place?
    
    Change-Id: I315243a2268be67e03feb923ca7f64fd37818337

diff --git a/dtrans/source/inc/DtObjFactory.hxx b/dtrans/source/inc/DtObjFactory.hxx
index 483286e..be8bf8d 100644
--- a/dtrans/source/inc/DtObjFactory.hxx
+++ b/dtrans/source/inc/DtObjFactory.hxx
@@ -25,14 +25,11 @@
 
 #include <systools/win32/comtools.hxx>
 
-class CDTransObjFactory
+namespace CDTransObjFactory
 {
-public:
-    virtual IDataObjectPtr SAL_CALL createDataObjFromTransferable( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
+    IDataObjectPtr createDataObjFromTransferable( const css::uno::Reference< css::uno::XComponentContext >& rxContext,
                                                                    const css::uno::Reference< css::datatransfer::XTransferable >& refXTransferable );
-    virtual css::uno::Reference< css::datatransfer::XTransferable > SAL_CALL createTransferableFromDataObj(
-        const css::uno::Reference< css::uno::XComponentContext >& rxContext, IDataObjectPtr pIDataObject );
-};
+}
 
 #endif
 
diff --git a/dtrans/source/win32/clipb/WinClipbImpl.cxx b/dtrans/source/win32/clipb/WinClipbImpl.cxx
index 0f517c6..ed84c02 100644
--- a/dtrans/source/win32/clipb/WinClipbImpl.cxx
+++ b/dtrans/source/win32/clipb/WinClipbImpl.cxx
@@ -23,6 +23,7 @@
 #include <systools/win32/comtools.hxx>
 #include "../../inc/DtObjFactory.hxx"
 #include "../dtobj/APNDataObject.hxx"
+#include "../dtobj/DOTransferable.hxx"
 #include "WinClipboard.hxx"
 #include <com/sun/star/datatransfer/clipboard/RenderingCapabilities.hpp>
 #include "../dtobj/XNotifyingDataObject.hxx"
@@ -103,10 +104,8 @@ Reference< XTransferable > SAL_CALL CWinClipbImpl::getContents( ) throw( Runtime
         // com smart pointer to the IDataObject from clipboard
         IDataObjectPtr pIDo( new CAPNDataObject( pIDataObject ) );
 
-        CDTransObjFactory objFactory;
-
         // remember pIDo destroys itself due to the smart pointer
-        rClipContent = objFactory.createTransferableFromDataObj( m_pWinClipboard->m_xContext, pIDo );
+        rClipContent = CDOTransferable::create( m_pWinClipboard->m_xContext, pIDo );
     }
 
     return rClipContent;
@@ -119,7 +118,6 @@ void SAL_CALL CWinClipbImpl::setContents(
     const Reference< XClipboardOwner >& xClipboardOwner )
     throw( RuntimeException )
 {
-    CDTransObjFactory objFactory;
     IDataObjectPtr    pIDataObj;
 
     if ( xTransferable.is( ) )
@@ -127,7 +125,7 @@ void SAL_CALL CWinClipbImpl::setContents(
         ClearableMutexGuard aGuard( m_ClipContentMutex );
 
         m_pCurrentClipContent = new CXNotifyingDataObject(
-            objFactory.createDataObjFromTransferable( m_pWinClipboard->m_xContext , xTransferable ),
+            CDTransObjFactory::createDataObjFromTransferable( m_pWinClipboard->m_xContext , xTransferable ),
             xTransferable,
             xClipboardOwner,
             this );
diff --git a/dtrans/source/win32/dnd/source.cxx b/dtrans/source/win32/dnd/source.cxx
index 6d29d6f..fb5e6c08 100644
--- a/dtrans/source/win32/dnd/source.cxx
+++ b/dtrans/source/win32/dnd/source.cxx
@@ -112,7 +112,7 @@ void DragSource::StartDragImpl(
     g_XTransferable = trans;
     //<-- TRA
 
-    m_spDataObject= m_aDataConverter.createDataObjFromTransferable(
+    m_spDataObject= CDTransObjFactory::createDataObjFromTransferable(
                     m_xContext, trans);
 
     // Obtain the id of the thread that created the window
diff --git a/dtrans/source/win32/dnd/source.hxx b/dtrans/source/win32/dnd/source.hxx
index 146df44..0f73d6c 100644
--- a/dtrans/source/win32/dnd/source.hxx
+++ b/dtrans/source/win32/dnd/source.hxx
@@ -26,12 +26,15 @@
 #include <osl/mutex.hxx>
 #include <cppuhelper/compbase.hxx>
 #include <com/sun/star/lang/XServiceInfo.hpp>
-#include "../../inc/DtObjFactory.hxx"
 #include "globals.hxx"
 #include <oleidl.h>
 
 #include <systools/win32/comtools.hxx>
 
+namespace com { namespace sun { namespace star { namespace uno {
+    class XComponentContext;
+} } } }
+
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::uno;
 using namespace cppu;
@@ -53,8 +56,6 @@ class DragSource:
 
     // The mouse button that set off the drag and drop operation
     short m_MouseButton;
-    // Converts XTransferable objects to IDataObject objects.
-    CDTransObjFactory m_aDataConverter;
 
     DragSource();
     DragSource(const DragSource&);
diff --git a/dtrans/source/win32/dnd/target.cxx b/dtrans/source/win32/dnd/target.cxx
index d7247f9..ba76771 100644
--- a/dtrans/source/win32/dnd/target.cxx
+++ b/dtrans/source/win32/dnd/target.cxx
@@ -29,6 +29,8 @@
 #include <rtl/ustring.h>
 #include <osl/thread.h>
 
+#include "../dtobj/DOTransferable.hxx"
+
 using namespace cppu;
 using namespace osl;
 using namespace com::sun::star::datatransfer;
@@ -323,7 +325,7 @@ HRESULT DropTarget::DragEnter( IDataObject *pDataObj,
         else
         {
             // Convert the IDataObject to a XTransferable
-            m_currentData= m_aDataConverter.createTransferableFromDataObj(
+            m_currentData= CDOTransferable::create(
                                             m_xContext, IDataObjectPtr(pDataObj));
         }
 
diff --git a/dtrans/source/win32/dnd/target.hxx b/dtrans/source/win32/dnd/target.hxx
index 065e6d5..4e7d3b8 100644
--- a/dtrans/source/win32/dnd/target.hxx
+++ b/dtrans/source/win32/dnd/target.hxx
@@ -36,7 +36,10 @@
 #pragma warning(pop)
 #endif
 #include "globals.hxx"
-#include "../../inc/DtObjFactory.hxx"
+
+namespace com { namespace sun { namespace star { namespace uno {
+    class XComponentContext;
+} } } }
 
 using namespace ::com::sun::star::lang;
 using namespace ::com::sun::star::uno;
@@ -100,8 +103,6 @@ private:
 //  sal_Int8 m_userAction;
     // Set by listeners when they call XDropTargetDropContext::dropComplete
     sal_Bool m_bDropComplete;
-    // converts IDataObject objects to XTransferable objects.
-    CDTransObjFactory m_aDataConverter;
     Reference<XDropTargetDragContext> m_currentDragContext;
     Reference<XDropTargetDropContext> m_currentDropContext;
 
diff --git a/dtrans/source/win32/dtobj/DOTransferable.cxx b/dtrans/source/win32/dtobj/DOTransferable.cxx
index e57b745..74de0dc 100644
--- a/dtrans/source/win32/dtobj/DOTransferable.cxx
+++ b/dtrans/source/win32/dtobj/DOTransferable.cxx
@@ -58,7 +58,18 @@ namespace
 
 } // end namespace
 
-// ctor
+Reference< XTransferable > SAL_CALL CDOTransferable::create( const Reference< XComponentContext >& rxContext,
+                                                                                     IDataObjectPtr pIDataObject )
+{
+    CDOTransferable* pTransf = new CDOTransferable(rxContext, pIDataObject);
+    Reference<XTransferable> refDOTransf(pTransf);
+
+    pTransf->acquire();
+    pTransf->initFlavorList();
+    pTransf->release();
+
+    return refDOTransf;
+}
 
 CDOTransferable::CDOTransferable(
     const Reference< XComponentContext >& rxContext, IDataObjectPtr rDataObject ) :
diff --git a/dtrans/source/win32/dtobj/DOTransferable.hxx b/dtrans/source/win32/dtobj/DOTransferable.hxx
index cf3af73..1f11008 100644
--- a/dtrans/source/win32/dtobj/DOTransferable.hxx
+++ b/dtrans/source/win32/dtobj/DOTransferable.hxx
@@ -31,7 +31,6 @@
 #include <systools/win32/comtools.hxx>
 
 // forward
-class CDTransObjFactory;
 class CFormatEtc;
 
 class CDOTransferable : public ::cppu::WeakImplHelper<
@@ -41,6 +40,9 @@ class CDOTransferable : public ::cppu::WeakImplHelper<
 public:
     typedef css::uno::Sequence< sal_Int8 > ByteSequence_t;
 
+    static css::uno::Reference< css::datatransfer::XTransferable > create(
+        const css::uno::Reference< css::uno::XComponentContext >& rxContext, IDataObjectPtr pIDataObject );
+
     // XTransferable
 
     virtual css::uno::Any SAL_CALL getTransferData( const css::datatransfer::DataFlavor& aFlavor )
@@ -58,7 +60,6 @@ public:
     (css::uno::RuntimeException);
 
 private:
-    // should be created only by CDTransObjFactory
     explicit CDOTransferable(
         const css::uno::Reference< css::uno::XComponentContext >& rxContext,
         IDataObjectPtr rDataObject );
@@ -103,8 +104,6 @@ private:
 private:
     CDOTransferable( const CDOTransferable& );
     CDOTransferable& operator=( const CDOTransferable& );
-
-    friend class CDTransObjFactory;
 };
 
 #endif
diff --git a/dtrans/source/win32/dtobj/DtObjFactory.cxx b/dtrans/source/win32/dtobj/DtObjFactory.cxx
index 584c695..579efe2 100644
--- a/dtrans/source/win32/dtobj/DtObjFactory.cxx
+++ b/dtrans/source/win32/dtobj/DtObjFactory.cxx
@@ -21,8 +21,6 @@
 
 #include "XTDataObject.hxx"
 
-#include "DOTransferable.hxx"
-
 // namespace directives
 
 using namespace com::sun::star::uno;
@@ -37,17 +35,4 @@ IDataObjectPtr SAL_CALL CDTransObjFactory::createDataObjFromTransferable(const R
     return (IDataObjectPtr(new CXTDataObject(rxContext, refXTransferable)));
 }
 
-Reference< XTransferable > SAL_CALL CDTransObjFactory::createTransferableFromDataObj( const Reference< XComponentContext >& rxContext,
-                                                                                     IDataObjectPtr pIDataObject )
-{
-    CDOTransferable* pTransf = new CDOTransferable(rxContext, pIDataObject);
-    Reference<XTransferable> refDOTransf(pTransf);
-
-    pTransf->acquire();
-    pTransf->initFlavorList();
-    pTransf->release();
-
-    return refDOTransf;
-}
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/dtrans/source/win32/dtobj/XNotifyingDataObject.cxx b/dtrans/source/win32/dtobj/XNotifyingDataObject.cxx
index 4954605..35b42e6 100644
--- a/dtrans/source/win32/dtobj/XNotifyingDataObject.cxx
+++ b/dtrans/source/win32/dtobj/XNotifyingDataObject.cxx
@@ -21,7 +21,6 @@
 #include "XNotifyingDataObject.hxx"
 #include "../clipb/WinClipbImpl.hxx"
 #include "../clipb/WinClipboard.hxx"
-#include "../../inc/DtObjFactory.hxx"
 
 #ifdef __MINGW32__
 #if defined __uuidof
diff --git a/dtrans/test/win32/dnd/atlwindow.cxx b/dtrans/test/win32/dnd/atlwindow.cxx
index 1f8f748..7aa0df7 100644
--- a/dtrans/test/win32/dnd/atlwindow.cxx
+++ b/dtrans/test/win32/dnd/atlwindow.cxx
@@ -168,7 +168,7 @@ LRESULT AWindow::OnTimer(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled
 
             pData->SetData( &format,  &medium, TRUE); // releases HGLOBAL eventually
 
-            Reference<XTransferable> xTrans= m_aDataConverter.createTransferableFromDataObj(
+            Reference<XTransferable> xTrans= CDOTransferable::create(
                                                 MultiServiceFactory, pData);
 
             // call XDragSource::executeDrag from an MTA
diff --git a/dtrans/test/win32/dnd/atlwindow.hxx b/dtrans/test/win32/dnd/atlwindow.hxx
index 692b8be..3784072 100644
--- a/dtrans/test/win32/dnd/atlwindow.hxx
+++ b/dtrans/test/win32/dnd/atlwindow.hxx
@@ -49,8 +49,6 @@ class AWindow: public CWindowImpl<AWindow, CWindow,
 
     HWND m_hwndEdit;
 
-    CDTransObjFactory m_aDataConverter;
-
 public:
     explicit AWindow(LPCTSTR strName)
     {
commit 0e53c653fbfe4ba2e49db5e34bd62a3a3b02c980
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:06:23 2016 +0100

    -Werror,-Wnon-virtual-dtor
    
    Why was CCustomControlFactory a class with virtual functions in the first place?
    
    Change-Id: I4449a6f69f45a5b294b1906d0ce8a1a8a52c1d7f

diff --git a/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx b/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
index 5a82692..91720ea 100644
--- a/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
+++ b/fpicker/source/win32/filepicker/WinFileOpenImpl.cxx
@@ -31,6 +31,7 @@
 
 #include "FilePicker.hxx"
 #include "controlaccess.hxx"
+#include "customcontrolfactory.hxx"
 #include <rtl/ustrbuf.hxx>
 #include <rtl/string.hxx>
 #include <osl/thread.hxx>
@@ -84,8 +85,7 @@ CWinFileOpenImpl::CWinFileOpenImpl(
     CFileOpenDialog(bFileOpenDialog, dwFlags, dwTemplateId, hInstance),
     m_filterContainer(new CFilterContainer()),
     m_Preview(new CPreviewAdapter(hInstance)),
-    m_CustomControlFactory(new CCustomControlFactory()),
-    m_CustomControls(m_CustomControlFactory->CreateCustomControlContainer()),
+    m_CustomControls(CCustomControlFactory::CreateCustomControlContainer()),
     m_FilePicker(aFilePicker),
     m_bInitialSelChanged(sal_True),
     m_HelpPopupWindow(hInstance, m_hwndFileOpenDlg),
@@ -550,7 +550,7 @@ void SAL_CALL CWinFileOpenImpl::InitControlLabel(HWND hWnd)
 void SAL_CALL CWinFileOpenImpl::InitCustomControlContainer(HWND hCustomControl)
 {
     m_CustomControls->AddControl(
-        m_CustomControlFactory->CreateCustomControl(hCustomControl,m_hwndFileOpenDlg));
+        CCustomControlFactory::CreateCustomControl(hCustomControl,m_hwndFileOpenDlg));
 }
 
 
diff --git a/fpicker/source/win32/filepicker/WinFileOpenImpl.hxx b/fpicker/source/win32/filepicker/WinFileOpenImpl.hxx
index e25a2fa..10eef10 100644
--- a/fpicker/source/win32/filepicker/WinFileOpenImpl.hxx
+++ b/fpicker/source/win32/filepicker/WinFileOpenImpl.hxx
@@ -29,7 +29,6 @@
 #include "previewadapter.hxx"
 #include "helppopupwindow.hxx"
 #include "customcontrol.hxx"
-#include "customcontrolfactory.hxx"
 #include "../misc/resourceprovider.hxx"
 
 #include <utility>
@@ -181,7 +180,6 @@ private:
 private:
     std::unique_ptr<CFilterContainer>       m_filterContainer;
     std::unique_ptr<CPreviewAdapter>        m_Preview;
-    std::unique_ptr<CCustomControlFactory>  m_CustomControlFactory;
     std::unique_ptr<CCustomControl>         m_CustomControls;
     CFilePicker*                            m_FilePicker;
     WNDPROC                                 m_pfnOldDlgProc;
diff --git a/fpicker/source/win32/filepicker/customcontrolfactory.hxx b/fpicker/source/win32/filepicker/customcontrolfactory.hxx
index 868d21e..46043b4 100644
--- a/fpicker/source/win32/filepicker/customcontrolfactory.hxx
+++ b/fpicker/source/win32/filepicker/customcontrolfactory.hxx
@@ -30,17 +30,15 @@
 
 class CCustomControl;
 
-class CCustomControlFactory
+namespace CCustomControlFactory
 {
-public:
-
     // The CCustomControl instances will be created on the heap
     // and the client is responsible for deleting this instances
     // (he adopts ownership)
-    virtual CCustomControl* CreateCustomControl(HWND aControlHandle, HWND aParentHandle);
+    CCustomControl* CreateCustomControl(HWND aControlHandle, HWND aParentHandle);
 
-    virtual CCustomControl* CreateCustomControlContainer();
-};
+    CCustomControl* CreateCustomControlContainer();
+}
 
 #endif
 
commit 10aec5f91f7b11e41ed931df7a1e7388a19d19c6
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:05:44 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor
    
    Change-Id: I643c7e8ad12f255822c51a8f295e95f8799ef36a

diff --git a/fpicker/source/win32/filepicker/IVistaFilePickerInternalNotify.hxx b/fpicker/source/win32/filepicker/IVistaFilePickerInternalNotify.hxx
index ae08d36..3501a37 100644
--- a/fpicker/source/win32/filepicker/IVistaFilePickerInternalNotify.hxx
+++ b/fpicker/source/win32/filepicker/IVistaFilePickerInternalNotify.hxx
@@ -45,6 +45,9 @@ class IVistaFilePickerInternalNotify
         virtual void onAutoExtensionChanged (bool bChecked) = 0;
 
         virtual bool onFileTypeChanged( UINT nTypeIndex ) = 0;
+
+    protected:
+        ~IVistaFilePickerInternalNotify() {}
 };
 
 }}}
diff --git a/fpicker/source/win32/folderpicker/FopEvtDisp.hxx b/fpicker/source/win32/folderpicker/FopEvtDisp.hxx
index 8fc481f..ffb35b7 100644
--- a/fpicker/source/win32/folderpicker/FopEvtDisp.hxx
+++ b/fpicker/source/win32/folderpicker/FopEvtDisp.hxx
@@ -29,6 +29,9 @@ public:
 
     // dispatches a FilePickerEvent to wherever
     virtual void SAL_CALL helpRequested( css::lang::EventObject aEvent ) const = 0;
+
+protected:
+    ~CFOPEventDispatcher() {}
 };
 
 #endif
commit e6a381850951f9e61c82413a489b1e96937624a1
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:03:54 2016 +0100

    -Werror,-Wunused-macros
    
    Change-Id: Ia8ea71174361b1f685a1a9c038c7ee809e54e0ef

diff --git a/fpicker/source/win32/filepicker/VistaFilePicker.cxx b/fpicker/source/win32/filepicker/VistaFilePicker.cxx
index 3588c05..939ade4 100644
--- a/fpicker/source/win32/filepicker/VistaFilePicker.cxx
+++ b/fpicker/source/win32/filepicker/VistaFilePicker.cxx
@@ -61,12 +61,6 @@ namespace fpicker{
 namespace win32{
 namespace vista{
 
-#define FILE_PICKER_DLL_NAME  TEXT("fps.dll")
-
-
-// helper functions
-
-
 namespace
 {
     css::uno::Sequence< OUString > SAL_CALL VistaFilePicker_getSupportedServiceNames()
commit 3889b2894fd7284aa7b2b9aeab763c7be658058d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:02:58 2016 +0100

    external/redland: -Werror,-Wundef (__GNUC__ vs. clang-cl)
    
    Change-Id: I1998dc90f20958ea8631e4db49e7f5206c907978

diff --git a/external/redland/UnpackedTarball_rasqal.mk b/external/redland/UnpackedTarball_rasqal.mk
index 92571dd..37e4faf 100644
--- a/external/redland/UnpackedTarball_rasqal.mk
+++ b/external/redland/UnpackedTarball_rasqal.mk
@@ -26,6 +26,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,rasqal,\
 	$(if $(filter WNTGCC,$(OS)$(COM)),external/redland/rasqal/rasqal-mingw.patch.1) \
 	$(if $(CROSS_COMPILING),external/redland/rasqal/rasqal-xcompile.patch.1) \
 	external/redland/rasqal/rpath.patch \
+	external/redland/rasqal/clang-cl.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/redland/UnpackedTarball_redland.mk b/external/redland/UnpackedTarball_redland.mk
index d28e0dd..8a0e88f 100644
--- a/external/redland/UnpackedTarball_redland.mk
+++ b/external/redland/UnpackedTarball_redland.mk
@@ -29,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,redland,\
 	$(if $(CROSS_COMPILING),external/redland/redland/redland-xcompile.patch.1) \
 	external/redland/redland/redland-format.patch.0 \
 	external/redland/redland/rpath.patch \
+	external/redland/redland/clang-cl.patch \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/redland/rasqal/clang-cl.patch b/external/redland/rasqal/clang-cl.patch
new file mode 100755
index 0000000..e35a2b4
--- /dev/null
+++ b/external/redland/rasqal/clang-cl.patch
@@ -0,0 +1,11 @@
+--- src/rasqal.h
++++ src/rasqal.h
+@@ -99,7 +99,7 @@
+ /* Use gcc 3.1+ feature to allow marking of deprecated API calls.
+  * This gives a warning during compiling.
+  */
+-#if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
++#if (defined __GNUC__ && (( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3)) || defined __clang__
+ #define RASQAL_DEPRECATED __attribute__((deprecated))
+ #else
+ #define RASQAL_DEPRECATED
diff --git a/external/redland/redland/clang-cl.patch b/external/redland/redland/clang-cl.patch
new file mode 100755
index 0000000..b5a7271
--- /dev/null
+++ b/external/redland/redland/clang-cl.patch
@@ -0,0 +1,20 @@
+--- src/librdf.h
++++ src/librdf.h
+@@ -74,7 +74,7 @@
+ /* Use gcc 3.1+ feature to allow marking of deprecated API calls.
+  * This gives a warning during compiling.
+  */
+-#if ( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3
++#if (defined __GNUC__ && (( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3)) || defined __clang__
+ #define REDLAND_DEPRECATED __attribute__((deprecated))
+ #define REDLAND_NORETURN __attribute__((__noreturn__))
+ #else
+@@ -83,7 +83,7 @@
+ #endif
+ 
+ 
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
++#if (defined __GNUC__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4))) || defined __clang__
+ #define REDLAND_PRINTF_FORMAT(string_index, first_to_check_index) \
+   __attribute__((__format__(__printf__, string_index, first_to_check_index)))
+ #else
commit 7d697c7e22108035ef73a903dfc024b2b948b419
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:02:23 2016 +0100

    external/python33: adapt to -Werror,-Wundef being enabled for clang-cl
    
    Change-Id: I82bedca98ed5ec22b434c7b25c87bf5d77e7ed21

diff --git a/external/python33/UnpackedTarball_python3.mk b/external/python33/UnpackedTarball_python3.mk
index 1579be9..d5db8b45 100644
--- a/external/python33/UnpackedTarball_python3.mk
+++ b/external/python33/UnpackedTarball_python3.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
 	external/python33/python-msvc-disable-sse2.patch.1 \
 	external/python33/python-lsan.patch.0 \
 	external/python33/ubsan.patch.0 \
+	external/python33/clang-cl.patch.0 \
 ))
 
 ifneq ($(filter DRAGONFLY FREEBSD LINUX NETBSD OPENBSD SOLARIS,$(OS)),)
diff --git a/external/python33/clang-cl.patch.0 b/external/python33/clang-cl.patch.0
new file mode 100755
index 0000000..68f1dcd
--- /dev/null
+++ b/external/python33/clang-cl.patch.0
@@ -0,0 +1,11 @@
+--- Include/pyport.h
++++ Include/pyport.h
+@@ -219,7 +219,7 @@
+ /* Smallest negative value of type Py_ssize_t. */
+ #define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1)
+ 
+-#if SIZEOF_PID_T > SIZEOF_LONG
++#if defined SIZEOF_PID_T && SIZEOF_PID_T > SIZEOF_LONG
+ #   error "Python doesn't support sizeof(pid_t) > sizeof(long)"
+ #endif
+ 
commit 69ae92100401aad31cbfe1c4b4247befffb2d80a
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:01:16 2016 +0100

    external/nss: -Werror,-Wundef (__GNUC__ vs. clang-cl)
    
    Change-Id: I4641767451ac1ec9f580d24bafa57a11e2f99ac3

diff --git a/external/nss/clang-cl.patch.0 b/external/nss/clang-cl.patch.0
index 48f0ba8..a76050d 100644
--- a/external/nss/clang-cl.patch.0
+++ b/external/nss/clang-cl.patch.0
@@ -23,6 +23,15 @@
  # include <intrin.h>
  # pragma  intrinsic(_BitScanForward,_BitScanReverse)
    __forceinline static int __prBitScanForward32(unsigned int val)
+@@ -32,7 +32,7 @@
+ # define pr_bitscan_ctz32(val)  __prBitScanForward32(val)
+ # define pr_bitscan_clz32(val)  __prBitScanReverse32(val)
+ # define  PR_HAVE_BUILTIN_BITSCAN32
+-#elif ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && \
++#elif defined __GNUC__ && ((__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) && \
+        (defined(__i386__) || defined(__x86_64__) || defined(__arm__))
+ # define pr_bitscan_ctz32(val)  __builtin_ctz(val)
+ # define pr_bitscan_clz32(val)  __builtin_clz(val)
 @@ -136,7 +136,7 @@
  */
  
@@ -32,8 +41,17 @@
  #include <stdlib.h>
  #pragma intrinsic(_rotl, _rotr)
  #define PR_ROTATE_LEFT32(a, bits) _rotl(a, bits)
---- nss/lib/certdb/certdb.h	2016-02-12 15:36:18.000000000 +0100
-+++ nss/lib/certdb/certdb.h	2016-02-23 21:08:34.607903348 +0100
+--- nss/lib/certdb/certdb.h
++++ nss/lib/certdb/certdb.h
+@@ -21,7 +21,7 @@
+ /* On Windows, Mac, and Linux (and other gcc platforms), we can give compile
+  * time deprecation warnings when applications use the old CERTDB_VALID_PEER
+  * define */
+-#if __GNUC__ > 3
++#if defined __GNUC__ && __GNUC__ > 3
+ #if (__GNUC__ == 4) && (__GNUC_MINOR__ < 5)
+ typedef unsigned int __CERTDB_VALID_PEER __attribute__((deprecated));
+ #else
 @@ -30,7 +30,7 @@
  #endif
  #define CERTDB_VALID_PEER ((__CERTDB_VALID_PEER)CERTDB_TERMINAL_RECORD)
commit 61b541e9ef725ea75cf2e5c8407b0b8fa151fb1b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 10:00:44 2016 +0100

    external/liblangtag: -Werror,-Wundef (__GNUC__ vs. clang-cl)
    
    Change-Id: I4213eb841d7eb3627ae64cc242b81b8e7f09cc79

diff --git a/external/liblangtag/UnpackedTarball_langtag.mk b/external/liblangtag/UnpackedTarball_langtag.mk
index ebcb061..69bc045 100644
--- a/external/liblangtag/UnpackedTarball_langtag.mk
+++ b/external/liblangtag/UnpackedTarball_langtag.mk
@@ -30,4 +30,9 @@ $(eval $(call gb_UnpackedTarball_add_patches,langtag,\
 ))
 endif
 endif
+
+$(eval $(call gb_UnpackedTarball_add_patches,langtag, \
+    external/liblangtag/clang-cl.patch.0 \
+))
+
 # vim: set noet sw=4 ts=4:
diff --git a/external/liblangtag/clang-cl.patch.0 b/external/liblangtag/clang-cl.patch.0
new file mode 100755
index 0000000..d61fde2
--- /dev/null
+++ b/external/liblangtag/clang-cl.patch.0
@@ -0,0 +1,20 @@
+--- liblangtag/lt-macros.h
++++ liblangtag/lt-macros.h
+@@ -120,7 +120,7 @@
+  * It allows the compiler to type-check the arguments passed to the function.
+  * See the GNU C documentation for details.
+  */
+-#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
++#if (defined __GNUC__ && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4))) || defined __clang__
+ #  define LT_GNUC_PRINTF(format_idx, arg_idx)	\
+ 	__attribute__((__format__ (__printf__, format_idx, arg_idx)))
+ #else /* !__GNUC__ */
+@@ -136,7 +136,7 @@
+  * explicit %NULL.
+  * See the GNU C documentation for details.
+  */
+-#if __GNUC__ >= 4
++#if (defined __GNUC__ &&__GNUC__ >= 4) || defined __clang__
+ #  define LT_GNUC_NULL_TERMINATED		\
+ 	__attribute__((__sentinel__))
+ #else /* !__GNUC__ */
commit 6b68df576344f24f549030604c5413eb2062551a
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:58:44 2016 +0100

    Adapt to more warnings being enabled for clang-cl
    
    Change-Id: I62b1e2f5b4918514a7a04bb6a44e55fc21a475af

diff --git a/external/boost/clang-cl.patch.0 b/external/boost/clang-cl.patch.0
index 934eb57..2dcabfe 100755
--- a/external/boost/clang-cl.patch.0
+++ b/external/boost/clang-cl.patch.0
@@ -40,6 +40,17 @@
  
      template <class T>
      struct numeric_limits : chrono_numeric_limits<typename remove_cv<T>::type>
+--- boost/config/stdlib/dinkumware.hpp
++++ boost/config/stdlib/dinkumware.hpp
+@@ -96,7 +96,7 @@
+ #include <exception>
+ #endif
+ #include <typeinfo>
+-#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__)
++#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!(defined _HAS_NAMESPACE && _HAS_NAMESPACE) && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__)
+ #  define BOOST_NO_STD_TYPEINFO
+ #endif  
+ 
 --- boost/date_time/filetime_functions.hpp
 +++ boost/date_time/filetime_functions.hpp
 @@ -27,6 +27,16 @@
@@ -79,6 +90,28 @@
  #else
          system_time st;
          GetSystemTime(&st);
+--- boost/exception/exception.hpp
++++ boost/exception/exception.hpp
+@@ -5,7 +5,7 @@
+ 
+ #ifndef UUID_274DA366004E11DCB1DDFE2E56D89593
+ #define UUID_274DA366004E11DCB1DDFE2E56D89593
+-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
++#if defined __GNUC__ && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+ #pragma GCC system_header
+ #endif
+ #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+--- boost/math/special_functions/log1p.hpp
++++ boost/math/special_functions/log1p.hpp
+@@ -396,7 +396,7 @@
+          "log1p<%1%>(%1%)", 0, pol);
+    return ::log1p(x); 
+ }
+-#elif defined(_MSC_VER) && (BOOST_MSVC >= 1400)
++#elif defined(_MSC_VER) && defined BOOST_MSVC && (BOOST_MSVC >= 1400)
+ //
+ // You should only enable this branch if you are absolutely sure
+ // that your compilers optimizer won't mess this code up!!
 --- boost/multi_array/base.hpp
 +++ boost/multi_array/base.hpp
 @@ -222,7 +222,7 @@
@@ -128,6 +161,39 @@
  #else
  #include <_mingw.h>
  #if !defined __MINGW64_VERSION_MAJOR
+--- boost/smart_ptr/intrusive_ptr.hpp
++++ boost/smart_ptr/intrusive_ptr.hpp
+@@ -220,7 +220,7 @@
+     return a != b.get();
+ }
+ 
+-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
++#if defined __GUNC__ && __GNUC__ == 2 && __GNUC_MINOR__ <= 96
+ 
+ // Resolve the ambiguity between our op!= and the one in rel_ops
+ 
+--- boost/smart_ptr/shared_ptr.hpp
++++ boost/smart_ptr/shared_ptr.hpp
+@@ -780,7 +780,7 @@
+     return a.get() != b.get();
+ }
+ 
+-#if __GNUC__ == 2 && __GNUC_MINOR__ <= 96
++#if defined __GUNC__ && __GNUC__ == 2 && __GNUC_MINOR__ <= 96
+ 
+ // Resolve the ambiguity between our op!= and the one in rel_ops
+ 
+--- boost/ratio/config.hpp
++++ boost/ratio/config.hpp
+@@ -13,7 +13,7 @@
+ #include <boost/cstdint.hpp>
+ 
+ 
+-#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__)
++#if defined __GNUC__ && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__))
+ #  if ! defined BOOST_NO_CXX11_U16STRING
+ #    define BOOST_NO_CXX11_U16STRING
+ #  endif
 
 # workdir/UnpackedTarball/boost/libs/thread/src/win32/thread.cpp(1006,36) :  error: dllimport cannot be applied to non-inline function definition
 #     BOOST_THREAD_DECL void __cdecl on_process_enter()
@@ -143,6 +209,16 @@
        //For compilers supporting auto-tss cleanup
              //with Boost.Threads lib, use Boost.Threads lib
  #           define BOOST_THREAD_USE_LIB
+--- boost/throw_exception.hpp
++++ boost/throw_exception.hpp
+@@ -1,6 +1,6 @@
+ #ifndef UUID_AA15E74A856F11E08B8D93F24824019B
+ #define UUID_AA15E74A856F11E08B8D93F24824019B
+-#if (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
++#if defined __GUNC__ && (__GNUC__*100+__GNUC_MINOR__>301) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
+ #pragma GCC system_header
+ #endif
+ #if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
 --- boost/type_traits/has_nothrow_assign.hpp
 +++ boost/type_traits/has_nothrow_assign.hpp
 @@ -24,7 +24,7 @@
commit c6086ca6535692496fbd718d174d8eb5a5dea7c7
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:57:47 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor in generated UAccCOM.h (clang-cl)
    
    Change-Id: I9466931485ed5421be589def16185d5c036bdcb8

diff --git a/winaccessibility/inc/AccObject.hxx b/winaccessibility/inc/AccObject.hxx
index 3cbab61..3b1bf98 100644
--- a/winaccessibility/inc/AccObject.hxx
+++ b/winaccessibility/inc/AccObject.hxx
@@ -32,7 +32,15 @@
 #include <com/sun/star/accessibility/XAccessibleAction.hpp>
 
 #include "accHelper.hxx"
+
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
 #include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
 
 class AccEventListener;
 class AccObjectManagerAgent;
diff --git a/winaccessibility/inc/AccObjectWinManager.hxx b/winaccessibility/inc/AccObjectWinManager.hxx
index da85383..e0fd8e7 100644
--- a/winaccessibility/inc/AccObjectWinManager.hxx
+++ b/winaccessibility/inc/AccObjectWinManager.hxx
@@ -26,7 +26,15 @@
 #include <osl/mutex.hxx>
 #include <rtl/ref.hxx>
 #include "ResIDGenerator.hxx"
-#include "UAccCOM.h"
+
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
 
 class ResIDGenerator;
 class AccObjectManagerAgent;
diff --git a/winaccessibility/source/UAccCOM/AccAction.cxx b/winaccessibility/source/UAccCOM/AccAction.cxx
index bc21c6b..06cfa3b 100644
--- a/winaccessibility/source/UAccCOM/AccAction.cxx
+++ b/winaccessibility/source/UAccCOM/AccAction.cxx
@@ -21,9 +21,17 @@
  * AccAction.cpp : Implementation of CAccAction
  */
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccAction.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 using namespace com::sun::star::accessibility;
 using namespace com::sun::star::uno;
 
diff --git a/winaccessibility/source/UAccCOM/AccComponent.cxx b/winaccessibility/source/UAccCOM/AccComponent.cxx
index 083d9ac..1403881 100644
--- a/winaccessibility/source/UAccCOM/AccComponent.cxx
+++ b/winaccessibility/source/UAccCOM/AccComponent.cxx
@@ -21,9 +21,17 @@
  * AccComponent.cpp : Implementation of CUAccCOMApp and DLL registration.
  */
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccComponent.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 /**
  * Returns the location of the upper left corner of the object's bounding
  * box relative to the parent.
diff --git a/winaccessibility/source/UAccCOM/AccEditableText.cxx b/winaccessibility/source/UAccCOM/AccEditableText.cxx
index e640ff0..d223524 100644
--- a/winaccessibility/source/UAccCOM/AccEditableText.cxx
+++ b/winaccessibility/source/UAccCOM/AccEditableText.cxx
@@ -21,9 +21,17 @@
  * AccEditableText.cpp : Implementation of CUAccCOMApp and DLL registration.
  */
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccEditableText.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/AccHyperLink.cxx b/winaccessibility/source/UAccCOM/AccHyperLink.cxx
index c2902c4..bb3058d 100644
--- a/winaccessibility/source/UAccCOM/AccHyperLink.cxx
+++ b/winaccessibility/source/UAccCOM/AccHyperLink.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccHyperLink.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/AccHypertext.cxx b/winaccessibility/source/UAccCOM/AccHypertext.cxx
index 1e923c7..c690184 100644
--- a/winaccessibility/source/UAccCOM/AccHypertext.cxx
+++ b/winaccessibility/source/UAccCOM/AccHypertext.cxx
@@ -18,11 +18,19 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccHypertext.h"
 #include "AccHyperLink.h"
 #include "acccommon.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 
diff --git a/winaccessibility/source/UAccCOM/AccImage.cxx b/winaccessibility/source/UAccCOM/AccImage.cxx
index d1a6f6b..b4854f0 100644
--- a/winaccessibility/source/UAccCOM/AccImage.cxx
+++ b/winaccessibility/source/UAccCOM/AccImage.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccImage.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/AccRelation.cxx b/winaccessibility/source/UAccCOM/AccRelation.cxx
index 81e7fed..7d7ab00 100644
--- a/winaccessibility/source/UAccCOM/AccRelation.cxx
+++ b/winaccessibility/source/UAccCOM/AccRelation.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccRelation.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/AccTable.cxx b/winaccessibility/source/UAccCOM/AccTable.cxx
index b04b49b..4ccc254 100644
--- a/winaccessibility/source/UAccCOM/AccTable.cxx
+++ b/winaccessibility/source/UAccCOM/AccTable.cxx
@@ -21,9 +21,17 @@
  * AccTable.cpp : Implementation of CAccTable.
  */
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccTable.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/AccText.cxx b/winaccessibility/source/UAccCOM/AccText.cxx
index a8cd871..39bce54 100644
--- a/winaccessibility/source/UAccCOM/AccText.cxx
+++ b/winaccessibility/source/UAccCOM/AccText.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccText.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 using namespace com::sun::star::accessibility;
 using namespace com::sun::star::uno;
 
diff --git a/winaccessibility/source/UAccCOM/AccValue.cxx b/winaccessibility/source/UAccCOM/AccValue.cxx
index f89bd76..481e993 100644
--- a/winaccessibility/source/UAccCOM/AccValue.cxx
+++ b/winaccessibility/source/UAccCOM/AccValue.cxx
@@ -18,10 +18,18 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "AccValue.h"
 #include "MAccessible.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
diff --git a/winaccessibility/source/UAccCOM/EnumVariant.cxx b/winaccessibility/source/UAccCOM/EnumVariant.cxx
index b4fc960..b13c8ad 100644
--- a/winaccessibility/source/UAccCOM/EnumVariant.cxx
+++ b/winaccessibility/source/UAccCOM/EnumVariant.cxx
@@ -18,10 +18,18 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "EnumVariant.h"
 #include "MAccessible.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <vcl/svapp.hxx>
 
 using namespace com::sun::star::uno;
diff --git a/winaccessibility/source/UAccCOM/EnumVariant.h b/winaccessibility/source/UAccCOM/EnumVariant.h
index 7113aab..dc560a5 100644
--- a/winaccessibility/source/UAccCOM/EnumVariant.h
+++ b/winaccessibility/source/UAccCOM/EnumVariant.h
@@ -23,9 +23,16 @@
 #include "resource.h"       // main symbols
 #include <com/sun/star/accessibility/XAccessible.hpp>
 #include <com/sun/star/accessibility/XAccessibleSelection.hpp>
-#include "UAccCOM.h"
 #include <AccObjectManagerAgent.hxx>
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
 
 /**
  * CEnumVariant implements IEnumVARIANT interface.
diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx
index e279911..3bd658d 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.cxx
+++ b/winaccessibility/source/UAccCOM/MAccessible.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "MAccessible.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <algorithm>
 #include <cstddef>
 
diff --git a/winaccessibility/source/UAccCOM/UAccCOM.cxx b/winaccessibility/source/UAccCOM/UAccCOM.cxx
index f563966..44af32e 100644
--- a/winaccessibility/source/UAccCOM/UAccCOM.cxx
+++ b/winaccessibility/source/UAccCOM/UAccCOM.cxx
@@ -20,11 +20,19 @@
 #include "stdafx.h"
 #include "resource.h"
 #include <initguid.h>
-#include "UAccCOM.h"
 #include <accHelper.hxx>
 
 #if defined __clang__
 #pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
+#if defined __clang__
+#pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wextra-tokens"
     // "#endif !_MIDL_USE_GUIDDEF_" in midl-generated code
 #endif
diff --git a/winaccessibility/source/UAccCOM/UNOXWrapper.cxx b/winaccessibility/source/UAccCOM/UNOXWrapper.cxx
index 85d168e..20fde39 100644
--- a/winaccessibility/source/UAccCOM/UNOXWrapper.cxx
+++ b/winaccessibility/source/UAccCOM/UNOXWrapper.cxx
@@ -18,9 +18,17 @@
  */
 
 #include "stdafx.h"
-#include "UAccCOM.h"
 #include "UNOXWrapper.h"
 
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
+
 using namespace ::com::sun::star;
 
 
diff --git a/winaccessibility/source/UAccCOM/UNOXWrapper.h b/winaccessibility/source/UAccCOM/UNOXWrapper.h
index 67abc48..5a63e42 100644
--- a/winaccessibility/source/UAccCOM/UNOXWrapper.h
+++ b/winaccessibility/source/UAccCOM/UNOXWrapper.h
@@ -23,7 +23,15 @@
 #include "resource.h"       // main symbols
 
 #include <com/sun/star/accessibility/XAccessible.hpp>
-#include "UAccCOM.h"
+
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
 
 /**
  * CUNOXWrapper implements IUNOXWrapper interface.
diff --git a/winaccessibility/source/service/AccObjectManagerAgent.cxx b/winaccessibility/source/service/AccObjectManagerAgent.cxx
index 949505f..be64b31 100644
--- a/winaccessibility/source/service/AccObjectManagerAgent.cxx
+++ b/winaccessibility/source/service/AccObjectManagerAgent.cxx
@@ -20,7 +20,14 @@
 #include "AccObjectManagerAgent.hxx"
 #include "AccObjectWinManager.hxx"
 
-#include "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
+#endif
+#include  "UAccCOM.h"
+#if defined __clang__
+#pragma clang diagnostic pop
+#endif
 
 using namespace com::sun::star::uno;
 using namespace com::sun::star::accessibility;
commit ba57e60a6ea1dfb236a36c1cc620554104bf848b
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:51:30 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor
    
    Change-Id: I3fdf72b014d2ca0b0bd96fc5eba5606b13b32258

diff --git a/winaccessibility/source/UAccCOM/UNOXWrapper.h b/winaccessibility/source/UAccCOM/UNOXWrapper.h
index 2186843..67abc48 100644
--- a/winaccessibility/source/UAccCOM/UNOXWrapper.h
+++ b/winaccessibility/source/UAccCOM/UNOXWrapper.h
@@ -40,6 +40,7 @@ public:
     STDMETHOD(put_XSubInterface)(hyper);
 
 protected:
+    ~CUNOXWrapper() {}
 
     css::accessibility::XAccessible* pUNOInterface;
 };
commit 7f0e9654e559af00f21ffc39cbcf25032e0c10da
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:50:29 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: Ic87e8aacb2e8215751422969e78cc58e18fc5a42

diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index 4b48410..25d4e5d 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -348,8 +348,7 @@ short AccObjectWinManager::GetParentRole( XAccessible* pXAcc )
         pObj = pObj->GetParentObj();
         if(pObj->GetXAccessible().is())
         {
-            XAccessible* pXAcc = pObj->GetXAccessible().get();
-            Reference< XAccessibleContext > pRContext = pXAcc->getAccessibleContext();
+            Reference< XAccessibleContext > pRContext = pObj->GetXAccessible()->getAccessibleContext();
             if(pRContext.is())
                 return pRContext->getAccessibleRole();
         }
commit 183dbfe3a7ea2f8af00f5c188472432355c7085e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:50:05 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: Idf72ab1a311fcbbc81b16d9a3c1e78aaa10332c0

diff --git a/winaccessibility/source/service/AccObject.cxx b/winaccessibility/source/service/AccObject.cxx
index 4bd357f..1b5a82e 100644
--- a/winaccessibility/source/service/AccObject.cxx
+++ b/winaccessibility/source/service/AccObject.cxx
@@ -210,7 +210,7 @@ void AccObject::InsertChild( AccObject* pChild,short pos )
     }
     else
     {
-        std::vector<AccObject*>::iterator iter=m_childrenList.begin()+pos;
+        iter=m_childrenList.begin()+pos;
         m_childrenList.insert(iter,pChild);
     }
 
commit 5a7289dc14bc79d74890ccc9bb62c33c30380966
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:49:05 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor in external includes
    
    Change-Id: I2ef42eca934588b219de52dfc7c373395118cc32

diff --git a/embedserv/source/inc/embeddocaccess.hxx b/embedserv/source/inc/embeddocaccess.hxx
index 914d448..4ddefca 100644
--- a/embedserv/source/inc/embeddocaccess.hxx
+++ b/embedserv/source/inc/embeddocaccess.hxx
@@ -35,6 +35,7 @@
 #pragma clang diagnostic ignored "-Wall"
 #pragma clang diagnostic ignored "-Wextra"
 #pragma clang diagnostic ignored "-Wmicrosoft"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #endif
 #include <atldbcli.h>
 #if defined __clang__
diff --git a/embedserv/source/inc/stdafx.h b/embedserv/source/inc/stdafx.h
index c4b6bf4..be54130 100644
--- a/embedserv/source/inc/stdafx.h
+++ b/embedserv/source/inc/stdafx.h
@@ -28,6 +28,7 @@
 #pragma clang diagnostic ignored "-Winvalid-noreturn"
 #pragma clang diagnostic ignored "-Wmicrosoft"
 #pragma clang diagnostic ignored "-Wnon-pod-varargs"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #pragma clang diagnostic ignored "-Wsequence-point"
 #pragma clang diagnostic ignored "-Wtypename-missing"
 #endif
diff --git a/extensions/source/ole/oledll.cxx b/extensions/source/ole/oledll.cxx
index c319cc7..5e42501 100644
--- a/extensions/source/ole/oledll.cxx
+++ b/extensions/source/ole/oledll.cxx
@@ -34,6 +34,7 @@
 #pragma clang diagnostic ignored "-Winvalid-noreturn"
 #pragma clang diagnostic ignored "-Wmicrosoft"
 #pragma clang diagnostic ignored "-Wnon-pod-varargs"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #endif
 
 #ifdef __MINGW32__
diff --git a/extensions/source/ole/wincrap.hxx b/extensions/source/ole/wincrap.hxx
index 4e5dab8..426195a 100644
--- a/extensions/source/ole/wincrap.hxx
+++ b/extensions/source/ole/wincrap.hxx
@@ -50,6 +50,7 @@
 #pragma clang diagnostic ignored "-Winvalid-noreturn"
 #pragma clang diagnostic ignored "-Wmicrosoft"
 #pragma clang diagnostic ignored "-Wnon-pod-varargs"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #endif
 
 // from oleobjw.hxx
diff --git a/extensions/source/ole/windata.hxx b/extensions/source/ole/windata.hxx
index 5e1a215..08e6505 100644
--- a/extensions/source/ole/windata.hxx
+++ b/extensions/source/ole/windata.hxx
@@ -33,6 +33,7 @@
 #pragma clang diagnostic ignored "-Winvalid-noreturn"
 #pragma clang diagnostic ignored "-Wmicrosoft"
 #pragma clang diagnostic ignored "-Wnon-pod-varargs"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #endif
 
 #include <atlbase.h>
diff --git a/winaccessibility/source/UAccCOM/stdafx.h b/winaccessibility/source/UAccCOM/stdafx.h
index 6879f1c..6103052 100644
--- a/winaccessibility/source/UAccCOM/stdafx.h
+++ b/winaccessibility/source/UAccCOM/stdafx.h
@@ -45,6 +45,7 @@
 #pragma clang diagnostic ignored "-Winvalid-noreturn"
 #pragma clang diagnostic ignored "-Wmicrosoft"
 #pragma clang diagnostic ignored "-Wnon-pod-varargs"
+#pragma clang diagnostic ignored "-Wnon-virtual-dtor"
 #endif
 #include <atlbase.h>
 // You may derive a class from CComModule and use it if you want to override
commit f43e0fe4d64da654a48ae5d912a8c8f1a8596b11
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:45:10 2016 +0100

    Silence -Werror,-Wundef in external/poppler includes (clang-cl)
    
    Change-Id: I42ae8b5d1769eba3e5af68b3b183c77f40c35ca8

diff --git a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
index 6b15715..d52e3a0 100644
--- a/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
+++ b/sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.hxx
@@ -25,6 +25,7 @@
 
 #if defined __GNUC__ || defined __clang__
 # pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wundef"
 # pragma GCC diagnostic ignored "-Wunused-parameter"
 #elif defined _MSC_VER
 #pragma warning(push, 1)
commit 35133f60356a5ea4322f4df13e1e814e4001ba07
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:43:40 2016 +0100

    -Werror,-Wunused-macros
    
    Appears to no (longer?) be relevant here, as reported by clang-cl.
    
    Change-Id: I339f8b04eb733a9c6a97fcd4b9b4758e6a84d5c3

diff --git a/rsc/source/parser/rsckey.cxx b/rsc/source/parser/rsckey.cxx
index 351b2a4..90dd66d 100644
--- a/rsc/source/parser/rsckey.cxx
+++ b/rsc/source/parser/rsckey.cxx
@@ -26,10 +26,6 @@
 #include <rschash.hxx>
 #include <rsckey.hxx>
 
-#ifdef _MSC_VER
-#define _cdecl __cdecl
-#endif
-
 extern "C" {
     int SAL_CALL KeyCompare( const void * pFirst, const void * pSecond );
 }
commit b542088240751aba8485c7d6cceefb7bdb14e591
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:42:57 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: I944d7bd40a297dac97b954196a0e8e286f0ba712

diff --git a/connectivity/source/drivers/ado/APreparedStatement.cxx b/connectivity/source/drivers/ado/APreparedStatement.cxx
index 5fc031b..7dbafed 100644
--- a/connectivity/source/drivers/ado/APreparedStatement.cxx
+++ b/connectivity/source/drivers/ado/APreparedStatement.cxx
@@ -201,7 +201,7 @@ void OPreparedStatement::setParameter(sal_Int32 parameterIndex, const DataTypeEn
         {
             m_pParameters->Append(pParam);
 #if OSL_DEBUG_LEVEL > 0
-            ADOParameter* pParam = NULL;
+            pParam = NULL;
             m_pParameters->get_Item(OLEVariant(sal_Int32(parameterIndex-1)),&pParam);
             WpADOParameter aParam(pParam);
             if(pParam)
commit 00af78ed9059cac0de235e3bdcf5ee8725258d1e
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:39:35 2016 +0100

    -Werror,-Wunused-macros
    
    <https://msdn.microsoft.com/en-us/library/windows/desktop/ms647466%28v=vs.85%29.aspx>
    "About Strsafe.h":
    
      When you include Strsafe.h in your file, the older functions replaced by the
      Strsafe.h functions will be deprecated. Attempts to use these older functions
      will result in a compiler error telling you to use the newer functions. If you
      want to override this behavior, include the following statement before
      including Strsafe.h.
    
      #define STRSAFE_NO_DEPRECATE
    
    Appears to no (longer?) be relevant here, as reported by clang-cl.
    
    Change-Id: I94a576b71a2a34edd6009059fc5047ba59ec0f12

diff --git a/avmedia/source/win/window.cxx b/avmedia/source/win/window.cxx
index a53a87c..4c13f07 100644
--- a/avmedia/source/win/window.cxx
+++ b/avmedia/source/win/window.cxx
@@ -24,7 +24,6 @@
 #include <objbase.h>
 #include <strmif.h>
 #include <control.h>
-#define STRSAFE_NO_DEPRECATE
 #include <dshow.h>
 #if defined _MSC_VER
 #pragma warning(pop)
commit a1a24137b3d39e8f19765e4041f07372cecddd2c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:36:43 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor
    
    Change-Id: Ie346bca98a2da91e20ddb533ab19720f193291d4

diff --git a/avmedia/source/win/interface.hxx b/avmedia/source/win/interface.hxx
index f954872..41dcad4 100644
--- a/avmedia/source/win/interface.hxx
+++ b/avmedia/source/win/interface.hxx
@@ -70,6 +70,9 @@ public:
           double *pVal) = 0;
     virtual  HRESULT __stdcall EnterBitmapGrabMode(
         double SeekTime) = 0;
+
+protected:
+    ~IMediaDet() {}
 };
 
 extern "C" const IID IID_ISampleGrabberCB;
@@ -87,6 +90,9 @@ public:
         double SampleTime,
         BYTE *pBuffer,
         long BufferLen) = 0;
+
+protected:
+    ~ISampleGrabberCB() {}
 };
 
 extern "C" const IID IID_ISampleGrabber;
@@ -114,6 +120,8 @@ public:
         ISampleGrabberCB *pCallback,
         long WhichMethodToCallback) = 0;
 
+protected:
+    ~ISampleGrabber() {}
 };
 
 #endif
commit a0997faf074256fdef087b7c25a5d9d1263e7f16
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:35:58 2016 +0100

    -Werror,-Wunused-macros
    
    Change-Id: Ib333ad2880e0a1cbfed2f6a919ca2b92f42dde45

diff --git a/vcl/win/gdi/salgdi.cxx b/vcl/win/gdi/salgdi.cxx
index ca9ceff..531b71a 100644
--- a/vcl/win/gdi/salgdi.cxx
+++ b/vcl/win/gdi/salgdi.cxx
@@ -44,7 +44,6 @@
 #define DITHER_PAL_COUNT                (DITHER_PAL_STEPS*DITHER_PAL_STEPS*DITHER_PAL_STEPS)
 #define DITHER_MAX_SYSCOLOR             16
 #define DITHER_EXTRA_COLORS             1
-#define DMAP( _def_nVal, _def_nThres )  ((pDitherDiff[_def_nVal]>(_def_nThres))?pDitherHigh[_def_nVal]:pDitherLow[_def_nVal])
 
 struct SysColorEntry
 {
commit 392d32856d5bfe10a21d7eab522f983435de6c89
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:35:53 2016 +0100

    -Werror,-Wunused-macros
    
    Change-Id: I0ac1ba124ba452deeeeaa473ccbbf865e490c447

diff --git a/vcl/win/gdi/gdiimpl.cxx b/vcl/win/gdi/gdiimpl.cxx
index 35e2fbf..7febbe8 100644
--- a/vcl/win/gdi/gdiimpl.cxx
+++ b/vcl/win/gdi/gdiimpl.cxx
@@ -66,10 +66,7 @@
 #define SAL_POLYPOLYPOINTS_STACKBUF         64
 
 #define DITHER_PAL_DELTA                51
-#define DITHER_PAL_STEPS                6
-#define DITHER_PAL_COUNT                (DITHER_PAL_STEPS*DITHER_PAL_STEPS*DITHER_PAL_STEPS)
 #define DITHER_MAX_SYSCOLOR             16
-#define DITHER_EXTRA_COLORS             1
 #define DMAP( _def_nVal, _def_nThres )  ((pDitherDiff[_def_nVal]>(_def_nThres))?pDitherHigh[_def_nVal]:pDitherLow[_def_nVal])
 
 #define SAL_POLY_STACKBUF       32
commit ae95f93527c5720caa2f3c48aefb67e1f89ce2d2
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:35:26 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: I1e26a805ac96f1c57d2f7c795b598c4eaa8d2a3e

diff --git a/vcl/opengl/win/blocklist_parser.cxx b/vcl/opengl/win/blocklist_parser.cxx
index c728bd4..652bb29 100644
--- a/vcl/opengl/win/blocklist_parser.cxx
+++ b/vcl/opengl/win/blocklist_parser.cxx
@@ -230,7 +230,7 @@ void WinBlocklistParser::handleEntry(wgl::DriverInfo& rDriver, xmlreader::XmlRea
     {
         if (name.equals("os"))
         {
-            xmlreader::Span name = rReader.getAttributeValue(false);
+            name = rReader.getAttributeValue(false);
             OString sOS(name.begin, name.length);
             rDriver.meOperatingSystem = getOperatingSystem(sOS);
         }
commit cb859ddcb14414c1f2e520db23b08d2190bd091c
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:35:07 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: I4893f538911449953fadf4cf10f6adb819bc023f

diff --git a/vcl/glyphy/demo/demo-shader.cc b/vcl/glyphy/demo/demo-shader.cc
index 9b82123..dc5fbaa 100644
--- a/vcl/glyphy/demo/demo-shader.cc
+++ b/vcl/glyphy/demo/demo-shader.cc
@@ -98,8 +98,8 @@ demo_shader_add_glyph_vertices (const glyphy_point_t        &p,
   if (extents) {
     glyphy_extents_clear (extents);
     for (unsigned int i = 0; i < 4; i++) {
-      glyphy_point_t p = {v[i].x, v[i].y};
-      glyphy_extents_add (extents, &p);
+      glyphy_point_t p2 = {v[i].x, v[i].y};
+      glyphy_extents_add (extents, &p2);
     }
   }
 }
commit 9bc10687fca69364ddf55dce53ebca7d1aeba83f
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:13:38 2016 +0100

    -Werror,-Wshadow
    
    Where wglChoosePixelFormatARB is defined as a macro expanding to
    __wglewChoosePixelFormatARB (as WGLEW_GET_FUN is just expanding to its
    argument), and __wglewChoosePixelFormatARB is declared in global scope in
    workdir/UnpackedTarball/glew/include/GL/wglew.h.
    itself) in workdir/UnpackedTarball/glew/include\GL/wglew.h
    
    Change-Id: I0c4d09e9112c2233d25a262ea1f2b35bdf49645c

diff --git a/vcl/source/opengl/OpenGLContext.cxx b/vcl/source/opengl/OpenGLContext.cxx
index ba615ad..7f920c0 100644
--- a/vcl/source/opengl/OpenGLContext.cxx
+++ b/vcl/source/opengl/OpenGLContext.cxx
@@ -268,8 +268,8 @@ bool InitMultisample(const PIXELFORMATDESCRIPTOR& pfd, int& rPixelFormat,
         return false;
     }
     // Get our pixel format
-    PFNWGLCHOOSEPIXELFORMATARBPROC wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)wglGetProcAddress("wglChoosePixelFormatARB");
-    if (!wglChoosePixelFormatARB)
+    PFNWGLCHOOSEPIXELFORMATARBPROC fn_wglChoosePixelFormatARB = (PFNWGLCHOOSEPIXELFORMATARBPROC)wglGetProcAddress("wglChoosePixelFormatARB");
+    if (!fn_wglChoosePixelFormatARB)
     {
         return false;
     }
@@ -317,7 +317,7 @@ bool InitMultisample(const PIXELFORMATDESCRIPTOR& pfd, int& rPixelFormat,
     bool bArbMultisampleSupported = false;
 
     // First we check to see if we can get a pixel format for 8 samples
-    valid = wglChoosePixelFormatARB(hDC, iAttributes, fAttributes, 1, &pixelFormat, &numFormats);
+    valid = fn_wglChoosePixelFormatARB(hDC, iAttributes, fAttributes, 1, &pixelFormat, &numFormats);
     // If we returned true, and our format count is greater than 1
     if (valid && numFormats >= 1)
     {
@@ -332,7 +332,7 @@ bool InitMultisample(const PIXELFORMATDESCRIPTOR& pfd, int& rPixelFormat,
     // Our pixel format with 8 samples failed, test for 2 samples
     assert(iAttributes[18] == WGL_SAMPLES_ARB);
     iAttributes[19] = 2;
-    valid = wglChoosePixelFormatARB(hDC, iAttributes, fAttributes, 1, &pixelFormat, &numFormats);
+    valid = fn_wglChoosePixelFormatARB(hDC, iAttributes, fAttributes, 1, &pixelFormat, &numFormats);
     if (valid && numFormats >= 1)
     {
         bArbMultisampleSupported = true;
commit a93374a7b4168d132171d2f44e47e506d8350de5
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:12:40 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor
    
    Change-Id: Ibe968bdb968a0a86723fcc2c9fa958261724c7da

diff --git a/extensions/source/ole/comifaces.hxx b/extensions/source/ole/comifaces.hxx
index 9b2e089..c3957ef 100644
--- a/extensions/source/ole/comifaces.hxx
+++ b/extensions/source/ole/comifaces.hxx
@@ -39,6 +39,8 @@ IJScriptValueObject: public IUnknown
     STDMETHOD( IsInOutParam)( VARIANT_BOOL * flag)= 0;
     STDMETHOD( GetValue)( BSTR* type, VARIANT *value)= 0;
 
+protected:
+    ~IJScriptValueObject() {}
 };
 
 MIDL_INTERFACE("7B5C3410-66FA-11d4-832A-005004526AB4")
@@ -48,6 +50,8 @@ IUnoObjectWrapper: public IUnknown
     STDMETHOD( getOriginalUnoObject)( Reference<XInterface>* pInt)=0;
     STDMETHOD( getOriginalUnoStruct)( Any * pStruct)=0;
 
+protected:
+    ~IUnoObjectWrapper() {}
 };
 
 MIDL_INTERFACE("8BB66591-A544-4de9-822C-57AB57BCED1C")
@@ -55,6 +59,9 @@ IUnoTypeWrapper: public IUnknown
 {
     STDMETHOD(put_Name)(BSTR val) = 0;
     STDMETHOD(get_Name)(BSTR* pVal) = 0;
+
+protected:
+    ~IUnoTypeWrapper() {}
 };
 
 
diff --git a/extensions/source/ole/servprov.hxx b/extensions/source/ole/servprov.hxx
index 18b5982..1673f43 100644
--- a/extensions/source/ole/servprov.hxx
+++ b/extensions/source/ole/servprov.hxx
@@ -59,6 +59,9 @@ public:
 
     virtual sal_Bool registerClass() = 0;
     virtual sal_Bool deregisterClass() = 0;
+
+protected:
+    ~IClassFactoryWrapper() {}
 };
 
 /*****************************************************************************
commit b1d9fe788e635619b379627abebeacd270ca7770
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:11:38 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: Ie6a35ce1fece5de31f455d88ab3e12010b8047f5

diff --git a/embedserv/source/embed/tracker.cxx b/embedserv/source/embed/tracker.cxx
index a202e94..fc89860 100644
--- a/embedserv/source/embed/tracker.cxx
+++ b/embedserv/source/embed/tracker.cxx
@@ -768,7 +768,7 @@ int Tracker::HitTestHandles(POINT point) const
     // last of all, check for non-hit outside of object, between resize handles
     if ((m_nStyle & hatchedBorder) == 0)
     {
-        RECT rect = m_rect;
+        rect = m_rect;
         NormalizeRect(&rect);
         if ((m_nStyle & (dottedLine|solidLine)) != 0)
             InflateRect(&rect,+1, +1);
commit 6fbac177dd7d38b567f66d6c119ec69615f003d9
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:08:19 2016 +0100

    -Werror,-Wunused-macros
    
    According to
    <https://msdn.microsoft.com/en-us/library/windows/desktop/aa383681%28v=vs.85%29.aspx>
    ("Enabling STRICT"), it is used in combination with including windows.h, so
    maybe this #define STRICT (which was there ever since
    a934115b3ea90d7883681a6ca8922a4b859be36f "Initial revision," w/o also including
    windows.h) was always unnecessary (as reported by clang-cl).
    
    Change-Id: I02cf2584fe2fd52e9513791b18fdf6e7982e89b3

diff --git a/embedserv/source/embed/esdll.cxx b/embedserv/source/embed/esdll.cxx
index fb5f1cc..1c70d78 100644
--- a/embedserv/source/embed/esdll.cxx
+++ b/embedserv/source/embed/esdll.cxx
@@ -17,7 +17,6 @@
  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
  */
 
-#define STRICT
 #define _WIN32_DCOM
 #ifdef _MSC_VER
 #pragma warning(disable : 4917 4555)
commit e4f8d0c9c41088dd3f18f09a0338a89baf1e0410
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:05:36 2016 +0100

    Silence -Werror,-Wnon-virtual-dtor
    
    Change-Id: I46f7b68aded50abc0015b458507adbf84d0ffe76

diff --git a/embedserv/source/inprocserv/inprocembobj.h b/embedserv/source/inprocserv/inprocembobj.h
index 83e5c10..25ee78f 100644
--- a/embedserv/source/inprocserv/inprocembobj.h
+++ b/embedserv/source/inprocserv/inprocembobj.h
@@ -89,7 +89,7 @@ class InprocEmbedDocument_Impl : public InprocCountedObject_Impl
     ComSmart< OleWrapperAdviseSink > m_pDataAdvises[DEFAULT_ARRAY_LEN];
     ComSmart< OleWrapperAdviseSink > m_pViewAdvise;
 
-    class InternalCacheWrapper : public IOleCache2
+    class InternalCacheWrapper final: public IOleCache2
     {
         InprocEmbedDocument_Impl& m_rOwnDocument;
 
@@ -98,6 +98,8 @@ class InprocEmbedDocument_Impl : public InprocCountedObject_Impl
         : m_rOwnDocument( rOwnDocument )
         {}
 
+        virtual ~InternalCacheWrapper() {}
+
         /* IUnknown methods */
         STDMETHOD(QueryInterface)(REFIID riid, LPVOID FAR * ppvObj);
         STDMETHOD_(ULONG, AddRef)();
commit b955d437cadd6ca5a66c7a6df5cefd34eda7518d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:02:54 2016 +0100

    -Werror,-Wshadow
    
    Change-Id: I40f92daa60a08d93ea7bbe309fd16fa7ef27e78b

diff --git a/embedserv/source/embed/docholder.cxx b/embedserv/source/embed/docholder.cxx
index aa96aa0..b432ab8 100644
--- a/embedserv/source/embed/docholder.cxx
+++ b/embedserv/source/embed/docholder.cxx
@@ -533,10 +533,9 @@ void CopyToOLEMenu(HMENU hOrig,WORD origPos,HMENU hDest,WORD destPos)
 BOOL DocumentHolder::InPlaceMenuCreate()
 {
     HMENU               hMenu;
-    UINT                i;
     OLEMENUGROUPWIDTHS  mgw;
 
-    for (i=0; i<6; i++)
+    for (UINT i=0; i<6; i++)
         mgw.width[i]=0;
 
     //We already have popup menu handles in m_pFR->m_phMenu[]
commit d08b3d29de36c849b47e4ffddcf4fc0a426a206d
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 09:00:13 2016 +0100

    -Werror,-Wunused-macros
    
    "VC_EXTRALEAN can only be used in MFC projects."
    (<https://support.microsoft.com/en-us/kb/166474> "How to use VC_EXTRALEAN and
    WIN32_LEAN_AND_MEAN to enhance the build process in Visual C++")
    
    So presumably indeed not needed here (as reported by clang-cl).
    
    Change-Id: Id98c6e9e862e716cf5e238623c6ac4ca0603fd63

diff --git a/clew/source/clew.c b/clew/source/clew.c
index c7f4a9b..cd43418 100644
--- a/clew/source/clew.c
+++ b/clew/source/clew.c
@@ -14,7 +14,6 @@
 #ifndef CLCC_GENERATE_DOCUMENTATION
     #ifdef _WIN32
         #define WIN32_LEAN_AND_MEAN
-        #define VC_EXTRALEAN
         #include <windows.h>
 
         typedef HMODULE             CLCC_DYNLIB_HANDLE;
commit 7a43da06139c04ca9739b5261d36fbefc8976bb0
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Mar 4 08:58:44 2016 +0100

    -Werror,-Wundef
    
    see c665a1bc0f45aa4a4c679e6f004581168e03f93d for __STDC__ not defined under
    MSVC/clang-cl.
    
    Change-Id: I65d8a3b33ff40fc80c52b294b0c5bc75d9f5cf2f

diff --git a/hwpfilter/source/lexer.cxx b/hwpfilter/source/lexer.cxx
index aa435d5..448dce2 100644
--- a/hwpfilter/source/lexer.cxx
+++ b/hwpfilter/source/lexer.cxx
@@ -1023,7 +1023,7 @@ static int yy_top_state YY_PROTO(( void ));
 #ifdef YY_MALLOC_DECL
 YY_MALLOC_DECL
 #else
-#if __STDC__
+#if defined __STDC__ && __STDC__
 #ifndef __cplusplus
 #include <stdlib.h>
 #endif


More information about the Libreoffice-commits mailing list