[Libreoffice-commits] core.git: accessibility/source basegfx/source basic/source binaryurp/source bridges/source canvas/source chart2/source codemaker/source configmgr/source connectivity/source cppuhelper/source cppu/source cui/source dbaccess/source desktop/source drawinglayer/source editeng/source embeddedobj/source extensions/source filter/source forms/source hwpfilter/source i18npool/source idlc/source include/sal jvmfwk/plugins libreofficekit/source lotuswordpro/source oox/source registry/tools reportdesign/source rsc/source sal/osl sal/rtl sax/source sc/source sd/source sfx2/source slideshow/source starmath/source store/source svl/source svtools/source svx/source sw/source toolkit/source tools/source ucbhelper/source ucb/source unoidl/source unotools/source vcl/headless vcl/source vcl/unx writerfilter/source xmloff/source

Stephan Bergmann sbergman at redhat.com
Tue May 10 14:52:27 UTC 2016


 accessibility/source/standard/vclxaccessibletoolbox.cxx               |    2 
 basegfx/source/polygon/b2dlinegeometry.cxx                            |    2 
 basegfx/source/polygon/b2dsvgpolypolygon.cxx                          |   17 -
 basic/source/comp/loops.cxx                                           |    6 
 binaryurp/source/incomingrequest.cxx                                  |    2 
 binaryurp/source/marshal.cxx                                          |    2 
 bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx                  |    3 
 bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx                  |    3 
 bridges/source/jni_uno/jni_data.cxx                                   |    2 
 canvas/source/cairo/cairo_canvashelper.cxx                            |    2 
 canvas/source/cairo/cairo_canvashelper_text.cxx                       |    2 
 canvas/source/vcl/canvashelper.cxx                                    |    2 
 chart2/source/controller/dialogs/res_ErrorBar.cxx                     |    2 
 codemaker/source/codemaker/typemanager.cxx                            |    2 
 codemaker/source/cppumaker/dependencies.cxx                           |    2 
 codemaker/source/cppumaker/includes.cxx                               |    2 
 codemaker/source/javamaker/javatype.cxx                               |    2 
 configmgr/source/access.cxx                                           |    2 
 configmgr/source/components.cxx                                       |    4 
 configmgr/source/configurationregistry.cxx                            |    2 
 configmgr/source/type.cxx                                             |    2 
 configmgr/source/valueparser.cxx                                      |    4 
 configmgr/source/xcdparser.cxx                                        |    2 
 configmgr/source/xcsparser.cxx                                        |    4 
 configmgr/source/xcuparser.cxx                                        |    2 
 connectivity/source/commontools/CommonTools.cxx                       |    6 
 connectivity/source/commontools/FValue.cxx                            |    4 
 connectivity/source/commontools/dbtools.cxx                           |    4 
 connectivity/source/drivers/dbase/DTable.cxx                          |    4 
 connectivity/source/drivers/file/FDatabaseMetaData.cxx                |    2 
 connectivity/source/drivers/flat/ETable.cxx                           |    2 
 connectivity/source/drivers/postgresql/pq_tools.cxx                   |    2 
 connectivity/source/parse/sqlnode.cxx                                 |    2 
 cppu/source/typelib/typelib.cxx                                       |    2 
 cppuhelper/source/servicemanager.cxx                                  |    6 
 cppuhelper/source/typemanager.cxx                                     |    2 
 cui/source/dialogs/cuifmsearch.cxx                                    |    2 
 cui/source/dialogs/cuigrfflt.cxx                                      |    2 
 cui/source/tabpages/numfmt.cxx                                        |    2 
 cui/source/tabpages/paragrph.cxx                                      |    4 
 cui/source/tabpages/textattr.cxx                                      |    2 
 cui/source/tabpages/tpline.cxx                                        |    2 
 dbaccess/source/core/api/FilteredContainer.cxx                        |    2 
 dbaccess/source/core/api/RowSet.cxx                                   |    3 
 dbaccess/source/core/api/SingleSelectQueryComposer.cxx                |    2 
 dbaccess/source/core/api/TableDeco.cxx                                |    4 
 dbaccess/source/core/recovery/subcomponentrecovery.cxx                |    2 
 dbaccess/source/ui/app/AppController.cxx                              |   12 -
 dbaccess/source/ui/app/AppControllerDnD.cxx                           |    2 
 dbaccess/source/ui/browser/brwctrlr.cxx                               |    8 
 dbaccess/source/ui/browser/dataview.cxx                               |    2 
 dbaccess/source/ui/browser/unodatbr.cxx                               |   10 -
 dbaccess/source/ui/control/FieldDescControl.cxx                       |    2 
 dbaccess/source/ui/control/dbtreelistbox.cxx                          |    2 
 dbaccess/source/ui/dlg/sqlmessage.cxx                                 |    2 
 dbaccess/source/ui/misc/HtmlReader.cxx                                |    2 
 dbaccess/source/ui/misc/UITools.cxx                                   |   16 -
 dbaccess/source/ui/misc/WCopyTable.cxx                                |   14 -
 dbaccess/source/ui/misc/linkeddocuments.cxx                           |    2 
 dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx                 |    3 
 dbaccess/source/ui/querydesign/limitboxcontroller.cxx                 |    2 
 dbaccess/source/ui/querydesign/querycontroller.cxx                    |    2 
 dbaccess/source/ui/tabledesign/TableDesignControl.cxx                 |    2 
 dbaccess/source/ui/uno/copytablewizard.cxx                            |    5 
 desktop/source/app/userinstall.cxx                                    |    2 
 drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx              |    4 
 drawinglayer/source/processor2d/vclprocessor2d.cxx                    |    4 
 editeng/source/editeng/eehtml.cxx                                     |    4 
 editeng/source/items/frmitems.cxx                                     |    8 
 editeng/source/items/textitem.cxx                                     |    2 
 editeng/source/rtf/rtfitem.cxx                                        |   14 -
 editeng/source/rtf/svxrtf.cxx                                         |    6 
 embeddedobj/source/msole/oleembed.cxx                                 |    2 
 extensions/source/abpilot/abspilot.cxx                                |    2 
 extensions/source/bibliography/datman.cxx                             |    2 
 extensions/source/propctrlr/eformshelper.cxx                          |    2 
 extensions/source/propctrlr/eformspropertyhandler.cxx                 |    2 
 extensions/source/propctrlr/formcomponenthandler.cxx                  |    6 
 extensions/source/propctrlr/formgeometryhandler.cxx                   |    2 
 extensions/source/propctrlr/handlerhelper.cxx                         |    2 
 filter/source/flash/swfwriter1.cxx                                    |    4 
 filter/source/graphicfilter/idxf/dxfentrd.cxx                         |    2 
 filter/source/graphicfilter/ios2met/ios2met.cxx                       |    4 
 filter/source/graphicfilter/ipbm/ipbm.cxx                             |    6 
 filter/source/graphicfilter/ipsd/ipsd.cxx                             |    2 
 filter/source/msfilter/svdfppt.cxx                                    |   12 -
 filter/source/msfilter/util.cxx                                       |    2 
 filter/source/svg/svgexport.cxx                                       |    2 
 forms/source/component/Filter.cxx                                     |    4 
 forms/source/component/FormattedField.cxx                             |    2 
 forms/source/runtime/formoperations.cxx                               |    2 
 forms/source/xforms/model.cxx                                         |    2 
 hwpfilter/source/hwpreader.cxx                                        |    4 
 i18npool/source/calendar/calendar_gregorian.cxx                       |    4 
 i18npool/source/characterclassification/cclass_unicode_parser.cxx     |    6 
 i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx |    4 
 i18npool/source/indexentry/indexentrysupplier_default.cxx             |    2 
 i18npool/source/localedata/LocaleNode.cxx                             |    4 
 i18npool/source/localedata/localedata.cxx                             |    2 
 i18npool/source/search/textsearch.cxx                                 |    4 
 idlc/source/options.cxx                                               |    2 
 include/sal/types.h                                                   |    8 
 jvmfwk/plugins/sunmajor/pluginlib/util.cxx                            |    2 
 libreofficekit/source/gtk/lokdocview.cxx                              |    2 
 lotuswordpro/source/filter/lwpobjstrm.cxx                             |    2 
 oox/source/drawingml/color.cxx                                        |    4 
 oox/source/drawingml/customshapegeometry.cxx                          |   21 ++
 oox/source/export/drawingml.cxx                                       |    2 
 oox/source/ole/axcontrol.cxx                                          |    2 
 oox/source/vml/vmlformatting.cxx                                      |    2 
 registry/tools/options.cxx                                            |    2 
 reportdesign/source/filter/xml/xmlfilter.cxx                          |    2 
 reportdesign/source/ui/dlg/GroupsSorting.cxx                          |    2 
 reportdesign/source/ui/inspection/GeometryHandler.cxx                 |    8 
 reportdesign/source/ui/report/ViewsWindow.cxx                         |    2 
 reportdesign/source/ui/report/dlgedfunc.cxx                           |    2 
 rsc/source/parser/erscerr.cxx                                         |    2 
 rsc/source/parser/rsclex.cxx                                          |    2 
 sal/osl/unx/security.cxx                                              |    2 
 sal/rtl/digest.cxx                                                    |   14 -
 sal/rtl/uri.cxx                                                       |    2 
 sax/source/tools/converter.cxx                                        |    4 
 sc/source/core/data/attrib.cxx                                        |    4 
 sc/source/core/data/conditio.cxx                                      |    2 
 sc/source/core/tool/compiler.cxx                                      |    8 
 sc/source/core/tool/interpr1.cxx                                      |    6 
 sc/source/core/tool/scmatrix.cxx                                      |    2 
 sc/source/core/tool/token.cxx                                         |   15 -
 sc/source/filter/dif/difimp.cxx                                       |   12 -
 sc/source/filter/excel/excform.cxx                                    |   10 -
 sc/source/filter/excel/read.cxx                                       |    2 
 sc/source/filter/excel/xeformula.cxx                                  |    2 
 sc/source/filter/excel/xestyle.cxx                                    |   12 -
 sc/source/filter/excel/xetable.cxx                                    |    2 
 sc/source/filter/excel/xiescher.cxx                                   |    3 
 sc/source/filter/excel/xihelper.cxx                                   |    4 
 sc/source/filter/html/htmlexp.cxx                                     |    2 
 sc/source/filter/html/htmlpars.cxx                                    |    3 
 sc/source/ui/dbgui/validate.cxx                                       |    3 
 sc/source/ui/docshell/docfunc.cxx                                     |    8 
 sc/source/ui/docshell/docsh.cxx                                       |    6 
 sc/source/ui/unoobj/tokenuno.cxx                                      |    2 
 sc/source/ui/view/cellsh3.cxx                                         |    2 
 sc/source/ui/view/formatsh.cxx                                        |    2 
 sd/source/core/CustomAnimationCloner.cxx                              |    2 
 sd/source/core/drawdoc4.cxx                                           |    2 
 sd/source/filter/eppt/eppt.cxx                                        |    5 
 sd/source/filter/eppt/epptso.cxx                                      |    8 
 sd/source/filter/eppt/pptexanimations.cxx                             |    2 
 sd/source/filter/ppt/pptin.cxx                                        |   10 -
 sd/source/filter/xml/sdxmlwrp.cxx                                     |    2 
 sd/source/ui/animations/CustomAnimationDialog.cxx                     |    2 
 sd/source/ui/animations/CustomAnimationPane.cxx                       |    2 
 sd/source/ui/dlg/tpaction.cxx                                         |    2 
 sd/source/ui/func/fuconrec.cxx                                        |    2 
 sd/source/ui/func/fuinsert.cxx                                        |    2 
 sd/source/ui/func/fusnapln.cxx                                        |    2 
 sd/source/ui/slideshow/slideshowimpl.cxx                              |    4 
 sd/source/ui/slidesorter/view/SlsTheme.cxx                            |    2 
 sd/source/ui/unoidl/unoobj.cxx                                        |    4 
 sd/source/ui/view/drviews2.cxx                                        |    2 
 sd/source/ui/view/drviewse.cxx                                        |    2 
 sd/source/ui/view/viewshel.cxx                                        |    2 
 sfx2/source/bastyp/sfxhtml.cxx                                        |    4 
 sfx2/source/control/thumbnailview.cxx                                 |    2 
 sfx2/source/control/thumbnailviewitem.cxx                             |    2 
 sfx2/source/dialog/templdlg.cxx                                       |    2 
 sfx2/source/dialog/titledockwin.cxx                                   |    2 
 sfx2/source/doc/objserv.cxx                                           |    2 
 sfx2/source/view/viewprn.cxx                                          |    2 
 slideshow/source/engine/activities/activitiesfactory.cxx              |    8 
 slideshow/source/engine/animationnodes/basenode.cxx                   |    4 
 slideshow/source/engine/animationnodes/generateevent.cxx              |    2 
 slideshow/source/engine/shapes/drawshapesubsetting.cxx                |   14 -
 slideshow/source/engine/shapes/gdimtftools.cxx                        |    4 
 slideshow/source/engine/slide/targetpropertiescreator.cxx             |    3 
 starmath/source/mathtype.cxx                                          |    4 
 starmath/source/parse.cxx                                             |    2 
 starmath/source/view.cxx                                              |    2 
 starmath/source/wordexportbase.cxx                                    |    2 
 store/source/lockbyte.cxx                                             |    4 
 svl/source/numbers/zforfind.cxx                                       |    2 
 svl/source/numbers/zforlist.cxx                                       |    2 
 svl/source/numbers/zformat.cxx                                        |    4 
 svl/source/numbers/zforscan.cxx                                       |    4 
 svtools/source/brwbox/ebbcontrols.cxx                                 |    4 
 svtools/source/brwbox/editbrowsebox.cxx                               |    2 
 svtools/source/control/valueset.cxx                                   |    6 
 svtools/source/graphic/grfcache.cxx                                   |   66 +++----
 svtools/source/graphic/grfmgr2.cxx                                    |   92 +++++-----
 svtools/source/svhtml/parhtml.cxx                                     |   16 -
 svtools/source/svrtf/parrtf.cxx                                       |    5 
 svtools/source/table/tablecontrol_impl.cxx                            |    2 
 svx/source/customshapes/EnhancedCustomShape2d.cxx                     |    2 
 svx/source/dialog/rubydialog.cxx                                      |    4 
 svx/source/dialog/svxruler.cxx                                        |    4 
 svx/source/fmcomp/gridcell.cxx                                        |    2 
 svx/source/fmcomp/gridctrl.cxx                                        |    7 
 svx/source/form/fmshell.cxx                                           |    4 
 svx/source/form/fmsrcimp.cxx                                          |    2 
 svx/source/form/fmvwimp.cxx                                           |    2 
 svx/source/form/formcontrolfactory.cxx                                |    2 
 svx/source/items/rotmodit.cxx                                         |    2 
 svx/source/svdraw/svdhdl.cxx                                          |    2 
 svx/source/svdraw/svdobj.cxx                                          |    2 
 svx/source/svdraw/svdopath.cxx                                        |    2 
 svx/source/toolbars/extrusionbar.cxx                                  |   33 ++-
 svx/source/toolbars/fontworkbar.cxx                                   |   11 -
 svx/source/unodraw/UnoGraphicExporter.cxx                             |    2 
 sw/source/core/access/accnotextframe.cxx                              |    2 
 sw/source/core/access/acctextframe.cxx                                |    2 
 sw/source/core/attr/calbck.cxx                                        |    2 
 sw/source/core/attr/cellatr.cxx                                       |    2 
 sw/source/core/attr/hints.cxx                                         |    6 
 sw/source/core/crsr/crstrvl.cxx                                       |    2 
 sw/source/core/doc/DocumentFieldsManager.cxx                          |    6 
 sw/source/core/doc/DocumentLayoutManager.cxx                          |    2 
 sw/source/core/doc/DocumentRedlineManager.cxx                         |    2 
 sw/source/core/doc/doccomp.cxx                                        |    2 
 sw/source/core/doc/docfld.cxx                                         |    4 
 sw/source/core/doc/docfly.cxx                                         |    4 
 sw/source/core/doc/doclay.cxx                                         |    2 
 sw/source/core/doc/docruby.cxx                                        |    2 
 sw/source/core/doc/doctxm.cxx                                         |    4 
 sw/source/core/doc/notxtfrm.cxx                                       |    2 
 sw/source/core/doc/tblrwcl.cxx                                        |    2 
 sw/source/core/docnode/nodes.cxx                                      |    2 
 sw/source/core/docnode/section.cxx                                    |    2 
 sw/source/core/draw/dcontact.cxx                                      |    2 
 sw/source/core/edit/autofmt.cxx                                       |    2 
 sw/source/core/frmedt/fefly1.cxx                                      |    2 
 sw/source/core/frmedt/feshview.cxx                                    |    3 
 sw/source/core/frmedt/fews.cxx                                        |   19 +-
 sw/source/core/layout/dbg_lay.cxx                                     |   15 +
 sw/source/core/layout/fly.cxx                                         |    2 
 sw/source/core/layout/pagechg.cxx                                     |    3 
 sw/source/core/layout/tabfrm.cxx                                      |    2 
 sw/source/core/layout/wsfrm.cxx                                       |    8 
 sw/source/core/objectpositioning/anchoredobjectposition.cxx           |    2 
 sw/source/core/objectpositioning/tocntntanchoredobjectposition.cxx    |    2 
 sw/source/core/text/inftxt.cxx                                        |    2 
 sw/source/core/text/itrform2.cxx                                      |    2 
 sw/source/core/text/porfld.cxx                                        |   14 -
 sw/source/core/text/pormulti.cxx                                      |    6 
 sw/source/core/text/txtfrm.cxx                                        |    6 
 sw/source/core/txtnode/ndtxt.cxx                                      |    2 
 sw/source/core/txtnode/thints.cxx                                     |    2 
 sw/source/core/txtnode/txtedt.cxx                                     |    3 
 sw/source/core/undo/unattr.cxx                                        |    4 
 sw/source/core/undo/undobj1.cxx                                       |    4 
 sw/source/core/undo/untbl.cxx                                         |    4 
 sw/source/filter/html/css1atr.cxx                                     |    6 
 sw/source/filter/html/htmlform.cxx                                    |   32 +--
 sw/source/filter/html/htmlgrin.cxx                                    |   20 +-
 sw/source/filter/html/htmltab.cxx                                     |   10 -
 sw/source/filter/html/htmltabw.cxx                                    |    2 
 sw/source/filter/html/parcss1.cxx                                     |    6 
 sw/source/filter/html/swhtml.cxx                                      |   14 -
 sw/source/filter/ww8/rtfattributeoutput.cxx                           |    2 
 sw/source/filter/ww8/wrtw8esh.cxx                                     |    2 
 sw/source/filter/ww8/wrtw8nds.cxx                                     |    2 
 sw/source/filter/ww8/ww8atr.cxx                                       |    8 
 sw/source/filter/ww8/ww8par2.cxx                                      |    2 
 sw/source/filter/ww8/ww8par5.cxx                                      |    4 
 sw/source/filter/ww8/ww8par6.cxx                                      |    7 
 sw/source/filter/ww8/ww8scan.cxx                                      |   12 -
 sw/source/filter/xml/xmltbli.cxx                                      |    2 
 sw/source/filter/xml/xmltexte.cxx                                     |    2 
 sw/source/ui/dialog/macassgn.cxx                                      |    6 
 sw/source/ui/dialog/uiregionsw.cxx                                    |   12 -
 sw/source/ui/fldui/flddb.cxx                                          |    2 
 sw/source/ui/fldui/flddok.cxx                                         |    2 
 sw/source/ui/fldui/fldref.cxx                                         |    4 
 sw/source/uibase/app/docsh.cxx                                        |    4 
 sw/source/uibase/app/docshini.cxx                                     |    2 
 sw/source/uibase/app/docst.cxx                                        |    2 
 sw/source/uibase/app/docstyle.cxx                                     |    4 
 sw/source/uibase/dbui/dbmgr.cxx                                       |    2 
 sw/source/uibase/dialog/SwSpellDialogChildWindow.cxx                  |    2 
 sw/source/uibase/dochdl/swdtflvr.cxx                                  |    2 
 sw/source/uibase/docvw/edtwin.cxx                                     |   15 -
 sw/source/uibase/docvw/edtwin2.cxx                                    |    2 
 sw/source/uibase/fldui/fldmgr.cxx                                     |    2 
 sw/source/uibase/ribbar/conrect.cxx                                   |    2 
 sw/source/uibase/shells/basesh.cxx                                    |    6 
 sw/source/uibase/shells/drawsh.cxx                                    |    2 
 sw/source/uibase/shells/drwbassh.cxx                                  |    4 
 sw/source/uibase/shells/tabsh.cxx                                     |    5 
 sw/source/uibase/shells/textsh1.cxx                                   |    5 
 sw/source/uibase/uiview/view.cxx                                      |    2 
 sw/source/uibase/uiview/view2.cxx                                     |    2 
 sw/source/uibase/uno/unotxvw.cxx                                      |    5 
 sw/source/uibase/utlui/content.cxx                                    |    4 
 sw/source/uibase/wrtsh/wrtsh1.cxx                                     |    2 
 toolkit/source/awt/vclxwindow.cxx                                     |    2 
 toolkit/source/awt/vclxwindows.cxx                                    |    2 
 tools/source/fsys/urlobj.cxx                                          |    4 
 tools/source/fsys/wldcrd.cxx                                          |    6 
 tools/source/inet/inetmime.cxx                                        |    2 
 ucb/source/core/ucbcmds.cxx                                           |    6 
 ucb/source/inc/regexpmap.hxx                                          |    4 
 ucb/source/ucp/webdav-neon/webdavcontent.cxx                          |    2 
 ucbhelper/source/client/proxydecider.cxx                              |    2 
 unoidl/source/legacyprovider.cxx                                      |    2 
 unotools/source/config/bootstrap.cxx                                  |    2 
 unotools/source/config/configitem.cxx                                 |    2 
 unotools/source/config/securityoptions.cxx                            |    2 
 vcl/headless/svpbmp.cxx                                               |    2 
 vcl/source/control/edit.cxx                                           |    4 
 vcl/source/edit/textview.cxx                                          |   24 +-
 vcl/source/fontsubset/cff.cxx                                         |    2 
 vcl/source/fontsubset/xlat.cxx                                        |    2 
 vcl/source/gdi/pdfwriter_impl.cxx                                     |    4 
 vcl/source/gdi/pngread.cxx                                            |    4 
 vcl/source/window/decoview.cxx                                        |    6 
 vcl/source/window/layout.cxx                                          |    2 
 vcl/source/window/winproc.cxx                                         |    2 
 vcl/unx/generic/gdi/salbmp.cxx                                        |    2 
 vcl/unx/generic/window/salframe.cxx                                   |    2 
 vcl/unx/gtk/a11y/atkutil.cxx                                          |    2 
 writerfilter/source/dmapper/DomainMapper.cxx                          |    6 
 writerfilter/source/dmapper/StyleSheetTable.cxx                       |    2 
 writerfilter/source/ooxml/OOXMLFastContextHandler.cxx                 |    2 
 writerfilter/source/rtftok/rtfdispatchflag.cxx                        |    3 
 writerfilter/source/rtftok/rtfdispatchvalue.cxx                       |   18 +
 writerfilter/source/rtftok/rtfsdrimport.cxx                           |    2 
 xmloff/source/chart/SchXMLTableContext.cxx                            |    4 
 xmloff/source/draw/animationexport.cxx                                |    2 
 xmloff/source/draw/animationimport.cxx                                |    3 
 xmloff/source/draw/eventimp.cxx                                       |    4 
 xmloff/source/forms/elementexport.cxx                                 |   12 -
 xmloff/source/forms/propertyimport.cxx                                |    2 
 xmloff/source/forms/valueproperties.cxx                               |    2 
 xmloff/source/style/numehelp.cxx                                      |   12 -
 xmloff/source/style/xmlnumfe.cxx                                      |    2 
 xmloff/source/text/XMLTextListBlockContext.cxx                        |    2 
 xmloff/source/text/XMLTextMarkImportContext.cxx                       |    6 
 xmloff/source/text/txtexppr.cxx                                       |    2 
 xmloff/source/text/txtflde.cxx                                        |    2 
 xmloff/source/text/txtimppr.cxx                                       |    4 
 xmloff/source/transform/StyleOASISTContext.cxx                        |    2 
 341 files changed, 837 insertions(+), 732 deletions(-)

New commits:
commit 14cd5182c5f64c43581c82db8c958369152226ac
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Tue May 10 16:42:16 2016 +0200

    Replace fallthrough comments with new SAL_FALLTHROUGH macro
    
    ...which (in LIBO_INTERNAL_ONLY) for Clang expands to [[clang::fallthrough]] in
    preparation of enabling -Wimplicit-fallthrough.  (This is only relevant for
    C++11, as neither C nor old C++ has a way to annotate intended fallthroughs.)
    
    Could use BOOST_FALLTHROUGH instead of introducing our own SAL_FALLTHROUGH, but
    that would require adding back in dependencies on boost_headers to many
    libraries where we carefully removed any remaining Boost dependencies only
    recently.  (At least make SAL_FALLTHROUGH strictly LIBO_INTERNAL_ONLY, so its
    future evolution will not have any impact on the stable URE interface.)  C++17
    will have a proper [[fallthroug]], eventually removing the need for a macro
    altogether.
    
    Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca

diff --git a/accessibility/source/standard/vclxaccessibletoolbox.cxx b/accessibility/source/standard/vclxaccessibletoolbox.cxx
index 1a7095a..5e830ec 100644
--- a/accessibility/source/standard/vclxaccessibletoolbox.cxx
+++ b/accessibility/source/standard/vclxaccessibletoolbox.cxx
@@ -617,7 +617,7 @@ void VCLXAccessibleToolBox::ProcessWindowEvent( const VclWindowEvent& rVclWindow
             }
             m_aAccessibleChildren.clear();
 
-            //!!! no break to call base class
+            SAL_FALLTHROUGH; // call base class
         }
 
         default:
diff --git a/basegfx/source/polygon/b2dlinegeometry.cxx b/basegfx/source/polygon/b2dlinegeometry.cxx
index 9d05520..2177ff4 100644
--- a/basegfx/source/polygon/b2dlinegeometry.cxx
+++ b/basegfx/source/polygon/b2dlinegeometry.cxx
@@ -757,7 +757,7 @@ namespace basegfx
                     }
                     else
                     {
-                        // wanted fall-through to default
+                        SAL_FALLTHROUGH; // wanted fall-through to default
                     }
                 }
                 default: // B2DLineJoin::Bevel
diff --git a/basegfx/source/polygon/b2dsvgpolypolygon.cxx b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
index e472e97..4e1a4b4 100644
--- a/basegfx/source/polygon/b2dsvgpolypolygon.cxx
+++ b/basegfx/source/polygon/b2dsvgpolypolygon.cxx
@@ -109,8 +109,7 @@ namespace basegfx
                             o_rPolyPolygon.append(aCurrPoly);
                             aCurrPoly.clear();
                         }
-
-                        // FALLTHROUGH intended to add coordinate data as 1st point of new polygon
+                        SAL_FALLTHROUGH; // to add coordinate data as 1st point of new polygon
                     }
                     case 'l' :
                     case 'L' :
@@ -150,7 +149,7 @@ namespace basegfx
                     case 'h' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'H' :
                     {
@@ -180,7 +179,7 @@ namespace basegfx
                     case 'v' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'V' :
                     {
@@ -210,7 +209,7 @@ namespace basegfx
                     case 's' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'S' :
                     {
@@ -269,7 +268,7 @@ namespace basegfx
                     case 'c' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'C' :
                     {
@@ -319,7 +318,7 @@ namespace basegfx
                     case 'q' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'Q' :
                     {
@@ -370,7 +369,7 @@ namespace basegfx
                     case 't' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'T' :
                     {
@@ -444,7 +443,7 @@ namespace basegfx
                     case 'a' :
                     {
                         bRelative = true;
-                        // FALLTHROUGH intended
+                        SAL_FALLTHROUGH;
                     }
                     case 'A' :
                     {
diff --git a/basic/source/comp/loops.cxx b/basic/source/comp/loops.cxx
index ae973d4..4eaf4f8 100644
--- a/basic/source/comp/loops.cxx
+++ b/basic/source/comp/loops.cxx
@@ -546,7 +546,8 @@ void SbiParser::Resume()
             {
                 aGen.Gen( SbiOpcode::RESUME_, 0 );
                 break;
-            } // fall through
+            }
+            SAL_FALLTHROUGH;
         case SYMBOL:
             if( MayBeLabel() )
             {
@@ -554,7 +555,8 @@ void SbiParser::Resume()
                 aGen.Gen( SbiOpcode::RESUME_, nLbl );
                 Next();
                 break;
-            } // fall through
+            }
+            SAL_FALLTHROUGH;
         default:
             Error( ERRCODE_BASIC_LABEL_EXPECTED );
     }
diff --git a/binaryurp/source/incomingrequest.cxx b/binaryurp/source/incomingrequest.cxx
index 009e473..2413b68 100644
--- a/binaryurp/source/incomingrequest.cxx
+++ b/binaryurp/source/incomingrequest.cxx
@@ -171,7 +171,7 @@ bool IncomingRequest::execute_throw(
             }
             break;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         {
             OSL_ASSERT(object_.is());
diff --git a/binaryurp/source/marshal.cxx b/binaryurp/source/marshal.cxx
index a45d1c6..b2251e9 100644
--- a/binaryurp/source/marshal.cxx
+++ b/binaryurp/source/marshal.cxx
@@ -194,7 +194,7 @@ void Marshal::writeValue(
         break;
     case typelib_TypeClass_BOOLEAN:
         assert(*static_cast< sal_uInt8 const * >(value) <= 1);
-        // fall through
+        SAL_FALLTHROUGH;
     case typelib_TypeClass_BYTE:
         write8(buffer, *static_cast< sal_uInt8 const * >(value));
         break;
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
index 44e773b..c30249d 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/cpp2uno.cxx
@@ -364,7 +364,8 @@ typelib_TypeClass cpp_vtable_call(
                         }
                         TYPELIB_DANGER_RELEASE( pTD );
                     }
-                } // else perform queryInterface()
+                    SAL_FALLTHROUGH; // else perform queryInterface()
+                }
                 default:
                 {
                     typelib_InterfaceMethodTypeDescription *pMethodTD =
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
index 3a99aa9..647d3ec 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
@@ -424,7 +424,8 @@ void unoInterfaceProxyDispatch(
                 }
                 TYPELIB_DANGER_RELEASE( pTD );
             }
-        } // else perform queryInterface()
+            SAL_FALLTHROUGH; // else perform queryInterface()
+        }
         default:
             // dependent dispatch
             cpp_call(
diff --git a/bridges/source/jni_uno/jni_data.cxx b/bridges/source/jni_uno/jni_data.cxx
index f6b2db2..44f1efb 100644
--- a/bridges/source/jni_uno/jni_data.cxx
+++ b/bridges/source/jni_uno/jni_data.cxx
@@ -1738,7 +1738,7 @@ void Bridge::map_to_java(
                     jni.ensure_no_exception();
                     break;
                 }
-                // fall through
+                SAL_FALLTHROUGH;
             }
             default:
             {
diff --git a/canvas/source/cairo/cairo_canvashelper.cxx b/canvas/source/cairo/cairo_canvashelper.cxx
index c71d2f5..6ab701b 100644
--- a/canvas/source/cairo/cairo_canvashelper.cxx
+++ b/canvas/source/cairo/cairo_canvashelper.cxx
@@ -1215,7 +1215,7 @@ namespace cairocanvas
             {
                 case rendering::PathJoinType::NONE:
                     bNoLineJoin = true;
-                    // cairo doesn't have join type NONE so we use MITER as it's pretty close
+                    SAL_FALLTHROUGH; // cairo doesn't have join type NONE so we use MITER as it's pretty close
                 case rendering::PathJoinType::MITER:
                     cairo_set_line_join( mpCairo.get(), CAIRO_LINE_JOIN_MITER );
                     break;
diff --git a/canvas/source/cairo/cairo_canvashelper_text.cxx b/canvas/source/cairo/cairo_canvashelper_text.cxx
index 03246f7..e7879c5 100644
--- a/canvas/source/cairo/cairo_canvashelper_text.cxx
+++ b/canvas/source/cairo/cairo_canvashelper_text.cxx
@@ -288,7 +288,7 @@ namespace cairocanvas
 
                 case rendering::TextDirection::WEAK_RIGHT_TO_LEFT:
                     nLayoutMode |= TEXT_LAYOUT_BIDI_RTL;
-                    // FALLTHROUGH intended
+                    SAL_FALLTHROUGH;
                 case rendering::TextDirection::STRONG_RIGHT_TO_LEFT:
                     nLayoutMode |= TEXT_LAYOUT_BIDI_RTL | TEXT_LAYOUT_BIDI_STRONG;
                     nLayoutMode |= TEXT_LAYOUT_TEXTORIGIN_RIGHT;
diff --git a/canvas/source/vcl/canvashelper.cxx b/canvas/source/vcl/canvashelper.cxx
index 79785aa1..9596172f 100644
--- a/canvas/source/vcl/canvashelper.cxx
+++ b/canvas/source/vcl/canvashelper.cxx
@@ -608,7 +608,7 @@ namespace vclcanvas
 
                 case rendering::TextDirection::WEAK_RIGHT_TO_LEFT:
                     nLayoutMode |= TEXT_LAYOUT_BIDI_RTL;
-                    // FALLTHROUGH intended
+                    SAL_FALLTHROUGH;
                 case rendering::TextDirection::STRONG_RIGHT_TO_LEFT:
                     nLayoutMode |= TEXT_LAYOUT_BIDI_RTL | TEXT_LAYOUT_BIDI_STRONG;
                     nLayoutMode |= TEXT_LAYOUT_TEXTORIGIN_RIGHT;
diff --git a/chart2/source/controller/dialogs/res_ErrorBar.cxx b/chart2/source/controller/dialogs/res_ErrorBar.cxx
index bbd0490..1ed9bb5 100644
--- a/chart2/source/controller/dialogs/res_ErrorBar.cxx
+++ b/chart2/source/controller/dialogs/res_ErrorBar.cxx
@@ -563,7 +563,7 @@ void ErrorBarResources::Reset(const SfxItemSet& rInAttrs)
             case CHINDICATE_NONE :
                 // no longer used, use both as default
                 m_eIndicate = CHINDICATE_BOTH;
-                // fall-through intended to BOTH
+                SAL_FALLTHROUGH; // to BOTH
             case CHINDICATE_BOTH :
                 m_pRbBoth->Check(); break;
             case CHINDICATE_UP :
diff --git a/codemaker/source/codemaker/typemanager.cxx b/codemaker/source/codemaker/typemanager.cxx
index f088628..32769f7 100644
--- a/codemaker/source/codemaker/typemanager.cxx
+++ b/codemaker/source/codemaker/typemanager.cxx
@@ -186,7 +186,7 @@ codemaker::UnoType::Sort TypeManager::decompose(
                 }
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case codemaker::UnoType::Sort::Void:
         case codemaker::UnoType::Sort::Boolean:
         case codemaker::UnoType::Sort::Byte:
diff --git a/codemaker/source/cppumaker/dependencies.cxx b/codemaker/source/cppumaker/dependencies.cxx
index d7e40ae..00c333d 100644
--- a/codemaker/source/cppumaker/dependencies.cxx
+++ b/codemaker/source/cppumaker/dependencies.cxx
@@ -271,7 +271,7 @@ void Dependencies::insert(OUString const & name, bool base) {
         {
             insert(b2u(arg));
         }
-        // fall through
+        SAL_FALLTHROUGH;
     case UnoType::Sort::Sequence:
     case UnoType::Sort::Enum:
     case UnoType::Sort::PlainStruct:
diff --git a/codemaker/source/cppumaker/includes.cxx b/codemaker/source/cppumaker/includes.cxx
index 27d26cf..500f8e9 100644
--- a/codemaker/source/cppumaker/includes.cxx
+++ b/codemaker/source/cppumaker/includes.cxx
@@ -104,7 +104,7 @@ void Includes::add(OString const & entityName) {
         {
             add(arg);
         }
-        // fall through
+        SAL_FALLTHROUGH;
     case codemaker::UnoType::Sort::Sequence:
     case codemaker::UnoType::Sort::Enum:
     case codemaker::UnoType::Sort::PlainStruct:
diff --git a/codemaker/source/javamaker/javatype.cxx b/codemaker/source/javamaker/javatype.cxx
index c2dba14..c39230a 100644
--- a/codemaker/source/javamaker/javatype.cxx
+++ b/codemaker/source/javamaker/javatype.cxx
@@ -235,7 +235,7 @@ SpecialType translateUnoTypeToDescriptor(
             }
             return SPECIAL_TYPE_INTERFACE;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     case codemaker::UnoType::Sort::Sequence:
     case codemaker::UnoType::Sort::Enum:
     case codemaker::UnoType::Sort::PlainStruct:
diff --git a/configmgr/source/access.cxx b/configmgr/source/access.cxx
index 8742dcf..9f14a6c 100644
--- a/configmgr/source/access.cxx
+++ b/configmgr/source/access.cxx
@@ -695,7 +695,7 @@ void Access::setName(OUString const & aName)
                     }
                 }
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case Node::KIND_LOCALIZED_PROPERTY:
             // renaming a property could only work for an extension property,
             // but a localized property is never an extension property
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 294001b..5b6271b 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -650,7 +650,7 @@ void Components::parseFiles(
         if (!recursive) {
             return;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         throw css::uno::RuntimeException(
             "cannot open directory " + url);
@@ -808,7 +808,7 @@ void Components::parseXcsXcuIniLayer(
             case ':':
             case '\\':
                 prefix.append('\\');
-                // fall through
+                SAL_FALLTHROUGH;
             default:
                 prefix.append(c);
             }
diff --git a/configmgr/source/configurationregistry.cxx b/configmgr/source/configurationregistry.cxx
index b91bd1d..437cc79 100644
--- a/configmgr/source/configurationregistry.cxx
+++ b/configmgr/source/configurationregistry.cxx
@@ -517,7 +517,7 @@ css::registry::RegistryValueType RegistryKey::getValueType()
         {
             return css::registry::RegistryValueType_STRINGLIST;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         return css::registry::RegistryValueType_NOT_DEFINED;
     }
diff --git a/configmgr/source/type.cxx b/configmgr/source/type.cxx
index 3a91505..9924aef 100644
--- a/configmgr/source/type.cxx
+++ b/configmgr/source/type.cxx
@@ -155,7 +155,7 @@ Type getDynamicType(css::uno::Any const & value) {
                 return TYPE_HEXBINARY_LIST;
             }
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         return TYPE_ERROR;
     }
diff --git a/configmgr/source/valueparser.cxx b/configmgr/source/valueparser.cxx
index eb81d73..f8d98dd 100644
--- a/configmgr/source/valueparser.cxx
+++ b/configmgr/source/valueparser.cxx
@@ -260,7 +260,7 @@ xmlreader::XmlReader::Text ValueParser::getTextMode() const {
             if (!items_.empty()) {
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case STATE_IT:
             return
                 (type_ == TYPE_STRING || type_ == TYPE_STRING_LIST ||
@@ -292,7 +292,7 @@ bool ValueParser::startElement(
             state_ = STATE_IT;
             return true;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     case STATE_IT:
         if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
             name.equals("unicode") &&
diff --git a/configmgr/source/xcdparser.cxx b/configmgr/source/xcdparser.cxx
index e26298b..0bfe298 100644
--- a/configmgr/source/xcdparser.cxx
+++ b/configmgr/source/xcdparser.cxx
@@ -116,7 +116,7 @@ bool XcdParser::startElement(
             return true;
         }
         state_ = STATE_COMPONENTS;
-        // fall through
+        SAL_FALLTHROUGH;
     case STATE_COMPONENTS:
         if (nsId == ParseManager::NAMESPACE_OOR &&
             name.equals("component-schema"))
diff --git a/configmgr/source/xcsparser.cxx b/configmgr/source/xcsparser.cxx
index 844a691..6c1b2fe 100644
--- a/configmgr/source/xcsparser.cxx
+++ b/configmgr/source/xcsparser.cxx
@@ -160,7 +160,7 @@ bool XcsParser::startElement(
                 state_ = STATE_TEMPLATES;
                 return true;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case STATE_TEMPLATES_DONE:
             if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
                 name.equals("component"))
@@ -190,7 +190,7 @@ bool XcsParser::startElement(
                 }
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case STATE_COMPONENT:
             assert(!elements_.empty());
             switch (elements_.top().node->kind()) {
diff --git a/configmgr/source/xcuparser.cxx b/configmgr/source/xcuparser.cxx
index ca81104..34e0eb5 100644
--- a/configmgr/source/xcuparser.cxx
+++ b/configmgr/source/xcuparser.cxx
@@ -645,7 +645,7 @@ void XcuParser::handleUnknownGroupProp(
             recordModification(false);
             break;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         SAL_WARN(
             "configmgr",
diff --git a/connectivity/source/commontools/CommonTools.cxx b/connectivity/source/commontools/CommonTools.cxx
index edc40bb..33962c6 100644
--- a/connectivity/source/commontools/CommonTools.cxx
+++ b/connectivity/source/commontools/CommonTools.cxx
@@ -75,8 +75,10 @@ namespace connectivity
                         else
                             pWild += pos;
                     else
-                        break;          // WARNING in certain circumstances
-                // it will run into the next 'case'!!
+                        break;
+                    // WARNING/TODO: in certain circumstances it will run into
+                    // the next 'case'!
+                    SAL_FALLTHROUGH;
                 case CHAR_WILD:
                     while ( *pWild == CHAR_WILD )
                         pWild++;
diff --git a/connectivity/source/commontools/FValue.cxx b/connectivity/source/commontools/FValue.cxx
index b03faab..9e86bf2 100644
--- a/connectivity/source/commontools/FValue.cxx
+++ b/connectivity/source/commontools/FValue.cxx
@@ -1032,7 +1032,7 @@ bool ORowSetValue::getBool()    const
                         break;
                     }
                 }
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::DECIMAL:
             case DataType::NUMERIC:
 
@@ -1930,7 +1930,7 @@ Sequence<sal_Int8>  ORowSetValue::getSequence() const
             case DataType::OBJECT:
             default:
                 OSL_ENSURE( false, "ORowSetValue::getDate: cannot retrieve the data!" );
-                // NO break!
+                SAL_FALLTHROUGH;
 
             case DataType::BINARY:
             case DataType::VARBINARY:
diff --git a/connectivity/source/commontools/dbtools.cxx b/connectivity/source/commontools/dbtools.cxx
index 6847160..69c1524 100644
--- a/connectivity/source/commontools/dbtools.cxx
+++ b/connectivity/source/commontools/dbtools.cxx
@@ -1515,7 +1515,7 @@ bool implUpdateObject(const Reference< XRowUpdate >& _rxUpdatedObject,
                 _rxUpdatedObject->updateBinaryStream(_nColumnIndex, xStream, xStream->available());
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         default:
             bSuccessfullyReRouted = false;
     }
@@ -1622,7 +1622,7 @@ bool implSetObject( const Reference< XParameters >& _rxParameters,
                 _rxParameters->setBinaryStream(_nColumnIndex, xStream, xStream->available());
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         default:
             bSuccessfullyReRouted = false;
 
diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx
index 2bee713..391a5ed 100644
--- a/connectivity/source/drivers/dbase/DTable.cxx
+++ b/connectivity/source/drivers/dbase/DTable.cxx
@@ -1289,7 +1289,7 @@ bool ODbaseTable::CreateFile(const INetURLObject& aFile, bool& bCreateMemo)
                     break;
                 case DataType::LONGVARBINARY:
                     bBinary = true;
-                    // run through
+                    SAL_FALLTHROUGH;
                 case DataType::LONGVARCHAR:
                     cTyp = 'M';
                     break;
@@ -1770,7 +1770,7 @@ bool ODbaseTable::UpdateBuffer(OValueRefVector& rRow, const OValueRefRow& pOrgRo
             case DataType::DOUBLE:
             case DataType::TIMESTAMP:
                 bSetZero = true;
-                //fall-through
+                SAL_FALLTHROUGH;
             case DataType::LONGVARBINARY:
             case DataType::DATE:
             case DataType::BIT:
diff --git a/connectivity/source/drivers/file/FDatabaseMetaData.cxx b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
index dd2748c..25d95d8 100644
--- a/connectivity/source/drivers/file/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
@@ -240,7 +240,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
                 break;
             case -1:
                 bKnowCaseSensivity = false;
-                /** run through */
+                SAL_FALLTHROUGH;
             case 0:
                 bCaseSensitiveDir = false;
             }
diff --git a/connectivity/source/drivers/flat/ETable.cxx b/connectivity/source/drivers/flat/ETable.cxx
index 0626560..a79ded6 100644
--- a/connectivity/source/drivers/flat/ETable.cxx
+++ b/connectivity/source/drivers/flat/ETable.cxx
@@ -734,7 +734,7 @@ bool OFlatTable::seekRow(IResultSetHelper::Movement eCursorPosition, sal_Int32 n
     {
         case IResultSetHelper::FIRST:
             m_nRowPos = 0;
-            // run through
+            SAL_FALLTHROUGH;
         case IResultSetHelper::NEXT:
             {
                 assert(m_nRowPos >= 0);
diff --git a/connectivity/source/drivers/postgresql/pq_tools.cxx b/connectivity/source/drivers/postgresql/pq_tools.cxx
index c55834d..df51a3b 100644
--- a/connectivity/source/drivers/postgresql/pq_tools.cxx
+++ b/connectivity/source/drivers/postgresql/pq_tools.cxx
@@ -1224,8 +1224,8 @@ bool implSetObject( const Reference< XParameters >& _rxParameters,
                 _rxParameters->setBinaryStream(_nColumnIndex, xStream, xStream->available());
                 break;
             }
+            SAL_FALLTHROUGH;
         }
-            // run through
         default:
             bSuccessfullyReRouted = false;
 
diff --git a/connectivity/source/parse/sqlnode.cxx b/connectivity/source/parse/sqlnode.cxx
index bc20db4..955cf2d 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -2493,7 +2493,7 @@ void OSQLParseNode::parseLeaf(OUStringBuffer& rString, const SQLParseNodeParamet
                 rString.append(m_aNodeValue);
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         default:
             if (!rString.isEmpty() && m_aNodeValue.toChar() != '.' && m_aNodeValue.toChar() != ':' )
             {
diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx
index df8bbf0..212e790 100644
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@ -1294,7 +1294,7 @@ static inline void typelib_typedescription_destructExtendedMembers(
     case typelib_TypeClass_STRUCT:
         delete[] reinterpret_cast< typelib_StructTypeDescription * >(pTD)->
             pParameterizedTypes;
-        // Fall-through intentional
+        SAL_FALLTHROUGH;
     case typelib_TypeClass_EXCEPTION:
     {
         typelib_CompoundTypeDescription * pCTD = reinterpret_cast<typelib_CompoundTypeDescription*>(pTD);
diff --git a/cppuhelper/source/servicemanager.cxx b/cppuhelper/source/servicemanager.cxx
index c3dfba4..9e2a9a0 100644
--- a/cppuhelper/source/servicemanager.cxx
+++ b/cppuhelper/source/servicemanager.cxx
@@ -189,7 +189,7 @@ Parser::Parser(
                 state = STATE_COMPONENTS;
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
         case STATE_COMPONENT_INITIAL:
             if (res == xmlreader::XmlReader::RESULT_BEGIN && nsId == ucNsId
                 && name.equals(RTL_CONSTASCII_STRINGPARAM("implementation")))
@@ -1433,7 +1433,7 @@ void cppuhelper::ServiceManager::readRdbDirectory(
             SAL_INFO("cppuhelper", "Ignored optional " << uri);
             return;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         throw css::uno::DeploymentException(
             "Cannot open directory " + uri,
@@ -1495,7 +1495,7 @@ bool cppuhelper::ServiceManager::readLegacyRdbFile(rtl::OUString const & uri) {
                 }
             }
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         return false;
     }
diff --git a/cppuhelper/source/typemanager.cxx b/cppuhelper/source/typemanager.cxx
index 85ed6dc..8fbee37 100644
--- a/cppuhelper/source/typemanager.cxx
+++ b/cppuhelper/source/typemanager.cxx
@@ -2125,7 +2125,7 @@ void cppuhelper::TypeManager::readRdbDirectory(
             SAL_INFO("cppuhelper", "Ignored optional " << uri);
             return;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     default:
         throw css::uno::DeploymentException(
             "Cannot open directory " + uri,
diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx
index 77905dd..e0b9444 100644
--- a/cui/source/dialogs/cuifmsearch.cxx
+++ b/cui/source/dialogs/cuifmsearch.cxx
@@ -737,8 +737,8 @@ IMPL_LINK_TYPED(FmSearchDialog, OnSearchProgress, const FmSearchProgress*, pProg
                 ? RID_STR_SEARCH_GENERAL_ERROR
                 : RID_STR_SEARCH_NORECORD;
             ScopedVclPtrInstance<MessageDialog>::Create(this, CUI_RES(nErrorId))->Execute();
+            SAL_FALLTHROUGH;
         }
-            // NO break !
         case FmSearchProgress::STATE_CANCELED:
             EnableSearchUI(true);
             if (m_lnkCanceledNotFoundHdl.IsSet())
diff --git a/cui/source/dialogs/cuigrfflt.cxx b/cui/source/dialogs/cuigrfflt.cxx
index 3723f81..bd694f2 100644
--- a/cui/source/dialogs/cuigrfflt.cxx
+++ b/cui/source/dialogs/cuigrfflt.cxx
@@ -572,7 +572,7 @@ Graphic GraphicFilterEmboss::GetFilteredGraphic( const Graphic& rGraphic, double
     switch( mpCtlLight->GetActualRP() )
     {
         default:       OSL_FAIL("svx::GraphicFilterEmboss::GetFilteredGraphic(), unknown Reference Point!" );
-                       /* Fall through */
+                       SAL_FALLTHROUGH;
         case RP_LT: nAzim = 4500;    nElev = 4500; break;
         case RP_MT: nAzim = 9000;    nElev = 4500; break;
         case RP_RT: nAzim = 13500;   nElev = 4500; break;
diff --git a/cui/source/tabpages/numfmt.cxx b/cui/source/tabpages/numfmt.cxx
index ad5bfd2..f4aaa90 100644
--- a/cui/source/tabpages/numfmt.cxx
+++ b/cui/source/tabpages/numfmt.cxx
@@ -974,7 +974,7 @@ void SvxNumberFormatTabPage::UpdateOptions_Impl( bool bCheckCatChange /*= sal_Fa
                 m_pBtnEngineering->Enable();
                 m_pBtnEngineering->Check( bThousand );
             }
-            // fallthru
+            SAL_FALLTHROUGH;
         case CAT_NUMBER:
         case CAT_PERCENT:
         case CAT_CURRENCY:
diff --git a/cui/source/tabpages/paragrph.cxx b/cui/source/tabpages/paragrph.cxx
index 9e8f531..4b9e7da 100644
--- a/cui/source/tabpages/paragrph.cxx
+++ b/cui/source/tabpages/paragrph.cxx
@@ -2053,7 +2053,7 @@ IMPL_LINK_NOARG_TYPED(SvxExtParagraphTabPage, WidowHdl_Impl, Button*, void)
             if ( m_pOrphanBox->GetState() == TRISTATE_FALSE )
                 m_pKeepTogetherBox->Enable();
 
-        // no break
+            SAL_FALLTHROUGH;
         case TRISTATE_INDET:
             m_pWidowRowNo->Enable(false);
             m_pWidowRowLabel->Enable(false);
@@ -2075,7 +2075,7 @@ IMPL_LINK_NOARG_TYPED(SvxExtParagraphTabPage, OrphanHdl_Impl, Button*, void)
             if ( m_pWidowBox->GetState() == TRISTATE_FALSE )
                 m_pKeepTogetherBox->Enable();
 
-        // no break
+            SAL_FALLTHROUGH;
         case TRISTATE_INDET:
             m_pOrphanRowNo->Enable(false);
             m_pOrphanRowLabel->Enable(false);
diff --git a/cui/source/tabpages/textattr.cxx b/cui/source/tabpages/textattr.cxx
index 9dcbb2f..315e664 100644
--- a/cui/source/tabpages/textattr.cxx
+++ b/cui/source/tabpages/textattr.cxx
@@ -407,7 +407,7 @@ bool SvxTextAttrPage::FillItemSet( SfxItemSet* rAttrs)
         {
             default: ; //prevent warning
                 OSL_FAIL( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
-                /* Fall through */
+                SAL_FALLTHROUGH;
             case TRISTATE_FALSE: eFTS = SDRTEXTFIT_NONE; break;
             case TRISTATE_TRUE: eFTS = SDRTEXTFIT_AUTOFIT; break;
         }
diff --git a/cui/source/tabpages/tpline.cxx b/cui/source/tabpages/tpline.cxx
index e983748..240e9da 100644
--- a/cui/source/tabpages/tpline.cxx
+++ b/cui/source/tabpages/tpline.cxx
@@ -155,7 +155,7 @@ SvxLineTabPage::SvxLineTabPage
         case FUNIT_M:
         case FUNIT_KM:
             eFUnit = FUNIT_MM;
-            // no break -> we now have mm
+            SAL_FALLTHROUGH; // we now have mm
         case FUNIT_MM:
             m_pMtrLineWidth->SetSpinSize( 50 );
             m_pMtrStartWidth->SetSpinSize( 50 );
diff --git a/dbaccess/source/core/api/FilteredContainer.cxx b/dbaccess/source/core/api/FilteredContainer.cxx
index 768f600..5b794a9 100644
--- a/dbaccess/source/core/api/FilteredContainer.cxx
+++ b/dbaccess/source/core/api/FilteredContainer.cxx
@@ -442,7 +442,7 @@ sal_Int32 createWildCardVector(Sequence< OUString >& _rTableFilter, ::std::vecto
         {
         default:
             SAL_WARN("dbaccess",  "OTableContainer::getAllTableTypeFilter: unknown TableTypeFilterMode!" );
-            /* Fall through */
+            SAL_FALLTHROUGH;
         case FILTER_MODE_MIX_ALL:
             _rFilter.realloc( 3 );
             _rFilter[0] = sView;
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index cc24832..7eb4087 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -289,7 +289,8 @@ void SAL_CALL ORowSet::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const
             break;
         case PROPERTY_ID_FETCHDIRECTION:
             if( m_nResultSetType == ResultSetType::FORWARD_ONLY)
-                throw Exception(); // else run through
+                throw Exception();
+            SAL_FALLTHROUGH;
         default:
             OPropertyStateContainer::setFastPropertyValue_NoBroadcast(nHandle,rValue);
     }
diff --git a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
index 81ee856..d608708 100644
--- a/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
+++ b/dbaccess/source/core/api/SingleSelectQueryComposer.cxx
@@ -1811,7 +1811,7 @@ OUString OSingleSelectQueryComposer::getKeyword( SQLPart _ePart )
     {
         default:
             SAL_WARN("dbaccess", "OSingleSelectQueryComposer::getKeyWord: Invalid enum value!" );
-            // no break, fallback to WHERE
+            SAL_FALLTHROUGH; // fallback to WHERE
         case Where:
             sKeyword = STR_WHERE;
             break;
diff --git a/dbaccess/source/core/api/TableDeco.cxx b/dbaccess/source/core/api/TableDeco.cxx
index fc50e38..f16cfdd 100644
--- a/dbaccess/source/core/api/TableDeco.cxx
+++ b/dbaccess/source/core/api/TableDeco.cxx
@@ -155,7 +155,7 @@ void ODBTableDecorator::setFastPropertyValue_NoBroadcast(sal_Int32 _nHandle, con
     {
         case PROPERTY_ID_PRIVILEGES:
             SAL_WARN("dbaccess", "Property is readonly!");
-            /* Fall through */
+            SAL_FALLTHROUGH;
         case PROPERTY_ID_FILTER:
         case PROPERTY_ID_ORDER:
         case PROPERTY_ID_APPLYFILTER:
@@ -234,7 +234,7 @@ void ODBTableDecorator::getFastPropertyValue(Any& _rValue, sal_Int32 _nHandle) c
                     break;
                 }
             }
-            // run through
+            SAL_FALLTHROUGH;
 
         case PROPERTY_ID_FILTER:
         case PROPERTY_ID_ORDER:
diff --git a/dbaccess/source/core/recovery/subcomponentrecovery.cxx b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
index d36b11e..186a377 100644
--- a/dbaccess/source/core/recovery/subcomponentrecovery.cxx
+++ b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
@@ -440,7 +440,7 @@ namespace dbaccess
                 m_aCompDesc.bForEditing = true;
                 break;
             }
-            // fall through
+            SAL_FALLTHROUGH;
 
         case FORM:
             m_aCompDesc.bForEditing = !lcl_determineReadOnly( m_xComponent );
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index db224ff..351dfa1 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -1197,14 +1197,14 @@ void OApplicationController::Execute(sal_uInt16 _nId, const Sequence< PropertyVa
                         case SID_DB_FORM_NEW_PILOT:
                         case SID_FORM_CREATE_REPWIZ_PRE_SEL:
                             bAutoPilot = true;
-                            // run through
+                            SAL_FALLTHROUGH;
                         case SID_APP_NEW_FORM:
                             eType = E_FORM;
                             break;
                         case ID_DOCUMENT_CREATE_REPWIZ:
                         case SID_REPORT_CREATE_REPWIZ_PRE_SEL:
                             bAutoPilot = true;
-                            // run through
+                            SAL_FALLTHROUGH;
                         case SID_APP_NEW_REPORT:
                         case SID_APP_NEW_REPORT_PRE_SEL:
                             eType = E_REPORT;
@@ -1215,13 +1215,13 @@ void OApplicationController::Execute(sal_uInt16 _nId, const Sequence< PropertyVa
                             break;
                         case ID_NEW_QUERY_DESIGN:
                             aCreationArgs.put( OUString(PROPERTY_GRAPHICAL_DESIGN), true );
-                            // run through
+                            SAL_FALLTHROUGH;
                         case ID_NEW_QUERY_SQL:
                             eType = E_QUERY;
                             break;
                          case ID_NEW_TABLE_DESIGN_AUTO_PILOT:
                              bAutoPilot = true;
-                             // run through
+                             SAL_FALLTHROUGH;
                         case ID_NEW_TABLE_DESIGN:
                             break;
                         default:
@@ -1798,7 +1798,7 @@ Reference< XComponent > OApplicationController::openElementWithArguments( const
             // component, but standalone documents.
             isStandaloneDocument = true;
         }
-        // NO break!
+        SAL_FALLTHROUGH;
     case E_FORM:
     {
         if ( isStandaloneDocument || !m_pSubComponentManager->activateSubFrame( _sName, _eType, _eOpenMode, xRet ) )
@@ -2079,7 +2079,7 @@ void OApplicationController::renameEntry()
                     ensureConnection();
                     if ( !getConnection().is() )
                         break;
-                    // NO break
+                    SAL_FALLTHROUGH;
                 case E_QUERY:
                     if ( xContainer->hasByName(*aList.begin()) )
                     {
diff --git a/dbaccess/source/ui/app/AppControllerDnD.cxx b/dbaccess/source/ui/app/AppControllerDnD.cxx
index 73991c6..3e2141f 100644
--- a/dbaccess/source/ui/app/AppControllerDnD.cxx
+++ b/dbaccess/source/ui/app/AppControllerDnD.cxx
@@ -783,7 +783,7 @@ void OApplicationController::getSupportedFormats(ElementType _eType,::std::vecto
             _rFormatIds.push_back(SotClipboardFormatId::DBACCESS_TABLE);
             _rFormatIds.push_back(SotClipboardFormatId::RTF);
             _rFormatIds.push_back(SotClipboardFormatId::HTML);
-            // run through
+            SAL_FALLTHROUGH;
         case E_QUERY:
             _rFormatIds.push_back(SotClipboardFormatId::DBACCESS_QUERY);
             break;
diff --git a/dbaccess/source/ui/browser/brwctrlr.cxx b/dbaccess/source/ui/browser/brwctrlr.cxx
index 8b456ad..2d0b1ff 100644
--- a/dbaccess/source/ui/browser/brwctrlr.cxx
+++ b/dbaccess/source/ui/browser/brwctrlr.cxx
@@ -1470,7 +1470,7 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
                     aReturn.bEnabled = m_aCurrentFrame.isActive();
                     break;
                 }
-                // run through
+                SAL_FALLTHROUGH;
             case ID_BROWSER_PASTE:
             case ID_BROWSER_CUT:
             {
@@ -1526,7 +1526,7 @@ FeatureState SbaXDataBrowserController::GetState(sal_uInt16 nId) const
                     aReturn.bEnabled = true;
                     break;
                 }
-                // no break
+                SAL_FALLTHROUGH;
             case ID_BROWSER_ORDERCRIT:
                 {
                     const Reference< XPropertySet >  xFormSet(getRowSet(), UNO_QUERY);
@@ -1950,7 +1950,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
                 getBrowserView()->getVclControl()->CopySelectedRowsToClipboard();
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         case ID_BROWSER_CUT:
         case ID_BROWSER_PASTE:
         {
@@ -1978,7 +1978,7 @@ void SbaXDataBrowserController::Execute(sal_uInt16 nId, const Sequence< Property
 
         case ID_BROWSER_SORTDOWN:
             bSortUp = false;
-            // DON'T break
+            SAL_FALLTHROUGH;
         case ID_BROWSER_SORTUP:
         {
             if (!SaveModified())
diff --git a/dbaccess/source/ui/browser/dataview.cxx b/dbaccess/source/ui/browser/dataview.cxx
index 7524665..cc8b82c 100644
--- a/dbaccess/source/ui/browser/dataview.cxx
+++ b/dbaccess/source/ui/browser/dataview.cxx
@@ -117,8 +117,8 @@ namespace dbaui
                 if ( m_pAccel.get() && m_pAccel->execute( aKeyCode ) )
                     // the accelerator consumed the event
                     return true;
+                SAL_FALLTHROUGH;
             }
-            // NO break
             case MouseNotifyEvent::KEYUP:
             case MouseNotifyEvent::MOUSEBUTTONDOWN:
             case MouseNotifyEvent::MOUSEBUTTONUP:
diff --git a/dbaccess/source/ui/browser/unodatbr.cxx b/dbaccess/source/ui/browser/unodatbr.cxx
index e33ada4..f3979f2 100644
--- a/dbaccess/source/ui/browser/unodatbr.cxx
+++ b/dbaccess/source/ui/browser/unodatbr.cxx
@@ -718,7 +718,7 @@ bool SbaTableQueryBrowser::InitializeGridModel(const Reference< css::form::XForm
                     case DataType::LONGVARCHAR:
                     case DataType::CLOB:
                         aInitialValues.push_back( NamedValue( OUString( "MultiLine" ), makeAny( true ) ) );
-                        // NO break!
+                        SAL_FALLTHROUGH;
                     case DataType::BINARY:
                     case DataType::VARBINARY:
                     case DataType::LONGVARBINARY:
@@ -729,7 +729,7 @@ bool SbaTableQueryBrowser::InitializeGridModel(const Reference< css::form::XForm
                     case DataType::VARCHAR:
                     case DataType::CHAR:
                         bFormattedIsNumeric = false;
-                        // NO break!
+                        SAL_FALLTHROUGH;
                     default:
                         aCurrentModelType = "FormattedField";
                         sDefaultProperty = PROPERTY_EFFECTIVEDEFAULT;
@@ -1676,7 +1676,7 @@ FeatureState SbaTableQueryBrowser::GetState(sal_uInt16 nId) const
             if ( !m_pTreeView->HasChildPathFocus() )
                 // handled below
                 break;
-            // NO break!
+            SAL_FALLTHROUGH;
         case ID_TREE_CLOSE_CONN:
         case ID_TREE_EDIT_DATABASE:
         {
@@ -1823,7 +1823,7 @@ FeatureState SbaTableQueryBrowser::GetState(sal_uInt16 nId) const
                         aReturn.bEnabled = pControl->canCopyCellText(pControl->GetCurRow(), pControl->GetCurColumnId());
                     break;
                 }
-                // NO break here
+                SAL_FALLTHROUGH;
             default:
                 return SbaXDataBrowserController::GetState(nId);
         }
@@ -1883,7 +1883,7 @@ void SbaTableQueryBrowser::Execute(sal_uInt16 nId, const Sequence< PropertyValue
                 SbaXDataBrowserController::Execute(nId,aArgs);
                 break;
             }
-            // NO break here!
+            SAL_FALLTHROUGH;
         }
 
         case ID_BROWSER_REFRESH_REBUILD:
diff --git a/dbaccess/source/ui/control/FieldDescControl.cxx b/dbaccess/source/ui/control/FieldDescControl.cxx
index dbd43d7..9752c62 100644
--- a/dbaccess/source/ui/control/FieldDescControl.cxx
+++ b/dbaccess/source/ui/control/FieldDescControl.cxx
@@ -1188,7 +1188,7 @@ void OFieldDescControl::DisplayData(OFieldDescription* pFieldDescr )
                     DeactivateAggregate( tpBoolDefault );
                     break;
                 }
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::BOOLEAN:
                 DeactivateAggregate( tpTextLen );
                 DeactivateAggregate( tpFormat );
diff --git a/dbaccess/source/ui/control/dbtreelistbox.cxx b/dbaccess/source/ui/control/dbtreelistbox.cxx
index bd2e26e..9872636 100644
--- a/dbaccess/source/ui/control/dbtreelistbox.cxx
+++ b/dbaccess/source/ui/control/dbtreelistbox.cxx
@@ -606,7 +606,7 @@ std::unique_ptr<PopupMenu> DBTreeListBox::CreateContextMenu()
 
                 default:
                     OSL_FAIL( "DBTreeListBox::CreateContextMenu: unexpected return value of the interceptor call!" );
-
+                    SAL_FALLTHROUGH;
                 case ContextMenuInterceptorAction_IGNORED:
                     break;
             }
diff --git a/dbaccess/source/ui/dlg/sqlmessage.cxx b/dbaccess/source/ui/dlg/sqlmessage.cxx
index bda1783..1afef0ee 100644
--- a/dbaccess/source/ui/dlg/sqlmessage.cxx
+++ b/dbaccess/source/ui/dlg/sqlmessage.cxx
@@ -533,7 +533,7 @@ void OSQLMessageBox::impl_initImage( MessageType _eImage )
     {
         default:
             OSL_FAIL( "OSQLMessageBox::impl_initImage: unsupported image type!" );
-            /* Fall through */
+            SAL_FALLTHROUGH;
         case Info:
             m_aInfoImage->SetImage(InfoBox::GetStandardImage());
             break;
diff --git a/dbaccess/source/ui/misc/HtmlReader.cxx b/dbaccess/source/ui/misc/HtmlReader.cxx
index 9442f81..1fc6e4d 100644
--- a/dbaccess/source/ui/misc/HtmlReader.cxx
+++ b/dbaccess/source/ui/misc/HtmlReader.cxx
@@ -146,7 +146,7 @@ void OHTMLReader::NextToken( int nToken )
                         }
                     }
                 }
-                //fall-through
+                SAL_FALLTHROUGH;
             case HTML_THEAD_ON:
             case HTML_TBODY_ON:
                 {
diff --git a/dbaccess/source/ui/misc/UITools.cxx b/dbaccess/source/ui/misc/UITools.cxx
index 1029b77..086d128 100644
--- a/dbaccess/source/ui/misc/UITools.cxx
+++ b/dbaccess/source/ui/misc/UITools.cxx
@@ -567,7 +567,7 @@ void fillTypeInfo(  const Reference< css::sdbc::XConnection>& _rxConnection,
                         aName = _rsTypeNames.getToken(TYPE_BIT, ';');
                         break;
                     }
-                    // run through
+                    SAL_FALLTHROUGH;
                 case DataType::BOOLEAN:
                     aName = _rsTypeNames.getToken(TYPE_BOOL, ';');
                     break;
@@ -1219,19 +1219,19 @@ TOTypeInfoSP queryTypeInfoByType(sal_Int32 _nDataType,const OTypeInfoMap& _rType
         case DataType::TINYINT:
             if( (pTypeInfo = queryTypeInfoByType(DataType::SMALLINT,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::SMALLINT:
             if( (pTypeInfo = queryTypeInfoByType(DataType::INTEGER,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::INTEGER:
             if( (pTypeInfo = queryTypeInfoByType(DataType::FLOAT,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::FLOAT:
             if( (pTypeInfo = queryTypeInfoByType(DataType::REAL,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::DATE:
         case DataType::TIME:
             if( DataType::DATE == _nDataType || DataType::TIME == _nDataType )
@@ -1239,17 +1239,17 @@ TOTypeInfoSP queryTypeInfoByType(sal_Int32 _nDataType,const OTypeInfoMap& _rType
                 if( (pTypeInfo = queryTypeInfoByType(DataType::TIMESTAMP,_rTypeInfo) ) )
                     break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::TIMESTAMP:
         case DataType::REAL:
         case DataType::BIGINT:
             if (  (pTypeInfo = queryTypeInfoByType(DataType::DOUBLE,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::DOUBLE:
             if (  (pTypeInfo = queryTypeInfoByType(DataType::NUMERIC,_rTypeInfo) ) )
                 break;
-            // run through
+            SAL_FALLTHROUGH;
         case DataType::NUMERIC:
              pTypeInfo = queryTypeInfoByType(DataType::DECIMAL,_rTypeInfo);
             break;
diff --git a/dbaccess/source/ui/misc/WCopyTable.cxx b/dbaccess/source/ui/misc/WCopyTable.cxx
index 44ae24f..df67d42 100644
--- a/dbaccess/source/ui/misc/WCopyTable.cxx
+++ b/dbaccess/source/ui/misc/WCopyTable.cxx
@@ -1443,19 +1443,19 @@ TOTypeInfoSP OCopyTableWizard::convertType(const TOTypeInfoSP& _pType, bool& _bN
             case DataType::TINYINT:
                 if(supportsType(DataType::SMALLINT,nDefaultType))
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::SMALLINT:
                 if(supportsType(DataType::INTEGER,nDefaultType))
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::INTEGER:
                 if(supportsType(DataType::FLOAT,nDefaultType))
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::FLOAT:
                 if(supportsType(DataType::REAL,nDefaultType))
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::DATE:
             case DataType::TIME:
                 if( DataType::DATE == _pType->nType || DataType::TIME == _pType->nType )
@@ -1463,17 +1463,17 @@ TOTypeInfoSP OCopyTableWizard::convertType(const TOTypeInfoSP& _pType, bool& _bN
                     if(supportsType(DataType::TIMESTAMP,nDefaultType))
                         break;
                 }
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::TIMESTAMP:
             case DataType::REAL:
             case DataType::BIGINT:
                 if ( supportsType(DataType::DOUBLE,nDefaultType) )
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::DOUBLE:
                 if ( supportsType(DataType::NUMERIC,nDefaultType) )
                     break;
-                // run through
+                SAL_FALLTHROUGH;
             case DataType::NUMERIC:
                 supportsType(DataType::DECIMAL,nDefaultType);
                 break;
diff --git a/dbaccess/source/ui/misc/linkeddocuments.cxx b/dbaccess/source/ui/misc/linkeddocuments.cxx
index c544b21..2904b81 100644
--- a/dbaccess/source/ui/misc/linkeddocuments.cxx
+++ b/dbaccess/source/ui/misc/linkeddocuments.cxx
@@ -139,7 +139,7 @@ namespace dbaui
 
             case E_OPEN_FOR_MAIL:
                 aArguments.put( "Hidden", true );
-                // fall through
+                SAL_FALLTHROUGH;
 
             case E_OPEN_DESIGN:
                 sOpenMode = "openDesign";
diff --git a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
index c5399b9..cff9469 100644
--- a/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
+++ b/dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
@@ -2003,8 +2003,9 @@ void OSelectionBrowseBox::Command(const CommandEvent& rEvt)
                 EditBrowseBox::Command(rEvt);
                 return;
             }
+
+            SAL_FALLTHROUGH;
         }
-        //fall-through
         default:
             EditBrowseBox::Command(rEvt);
     }
diff --git a/dbaccess/source/ui/querydesign/limitboxcontroller.cxx b/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
index 19b60e6..d4b3a13 100644
--- a/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
+++ b/dbaccess/source/ui/querydesign/limitboxcontroller.cxx
@@ -68,7 +68,7 @@ bool LimitBoxImpl::Notify( NotifyEvent& rNEvt )
             {
                 case KEY_ESCAPE:
                     Undo();
-                    // fall-through
+                    SAL_FALLTHROUGH;
                 case KEY_RETURN:
                     GrabFocusToDocument();
                     bHandled = true;
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 4f543c4..8a96808 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -553,7 +553,7 @@ FeatureState OQueryController::GetState(sal_uInt16 _nId) const
                 aReturn.bEnabled = false;
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         default:
             aReturn = OJoinController::GetState(_nId);
             break;
diff --git a/dbaccess/source/ui/tabledesign/TableDesignControl.cxx b/dbaccess/source/ui/tabledesign/TableDesignControl.cxx
index 8003504..77f0650 100644
--- a/dbaccess/source/ui/tabledesign/TableDesignControl.cxx
+++ b/dbaccess/source/ui/tabledesign/TableDesignControl.cxx
@@ -142,8 +142,8 @@ void OTableRowView::Command(const CommandEvent& rEvt)
                 }
             }
 
+            SAL_FALLTHROUGH;
         }
-        //fall-through
         default:
             EditBrowseBox::Command(rEvt);
     }
diff --git a/dbaccess/source/ui/uno/copytablewizard.cxx b/dbaccess/source/ui/uno/copytablewizard.cxx
index 4f977ea..08f714a 100644
--- a/dbaccess/source/ui/uno/copytablewizard.cxx
+++ b/dbaccess/source/ui/uno/copytablewizard.cxx
@@ -1246,7 +1246,7 @@ void CopyTableWizard::impl_copyRows_throw( const Reference< XResultSet >& _rxSou
                             aTransfer.transferComplexValue( &XRow::getBytes, &XParameters::setBytes );
                             break;
                         }
-                        // run through
+                        SAL_FALLTHROUGH;
                     case DataType::BOOLEAN:
                         aTransfer.transferValue( &XRow::getBoolean, &XParameters::setBoolean );
                         break;
@@ -1329,8 +1329,9 @@ void CopyTableWizard::impl_doCopy_nothrow()
 
                 if( CopyTableOperation::CopyDefinitionOnly == rWizard.getOperation() )
                     break;
+
+                SAL_FALLTHROUGH;
             }
-            // run through
 
             case CopyTableOperation::AppendData:
             {
diff --git a/desktop/source/app/userinstall.cxx b/desktop/source/app/userinstall.cxx
index 86cf478..86ca552 100644
--- a/desktop/source/app/userinstall.cxx
+++ b/desktop/source/app/userinstall.cxx
@@ -154,7 +154,7 @@ Status finalize() {
         if (isCreated()) {
             return EXISTED;
         }
-        // fall through
+        SAL_FALLTHROUGH;
     case utl::Bootstrap::PATH_VALID:
         return create(uri);
     default:
diff --git a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
index 2a5c1a0..a253c5f 100644
--- a/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
+++ b/drawinglayer/source/primitive2d/fillhatchprimitive2d.cxx
@@ -73,7 +73,7 @@ namespace drawinglayer
 
                         aHatch.appendTransformations(aMatrices);
 
-                        // fall-through by purpose
+                        SAL_FALLTHROUGH;
                     }
                     case attribute::HATCHSTYLE_DOUBLE:
                     {
@@ -86,7 +86,7 @@ namespace drawinglayer
 
                         aHatch.appendTransformations(aMatrices);
 
-                        // fall-through by purpose
+                        SAL_FALLTHROUGH;
                     }
                     case attribute::HATCHSTYLE_SINGLE:
                     {
diff --git a/drawinglayer/source/processor2d/vclprocessor2d.cxx b/drawinglayer/source/processor2d/vclprocessor2d.cxx
index ec31b50..67625c0 100644
--- a/drawinglayer/source/processor2d/vclprocessor2d.cxx
+++ b/drawinglayer/source/processor2d/vclprocessor2d.cxx
@@ -184,7 +184,7 @@ namespace drawinglayer
                         {
                             default:
                                 SAL_WARN("drawinglayer", "Unknown EmphasisMark style " << pTCPP->getTextEmphasisMark() );
-                                // fall through
+                                SAL_FALLTHROUGH;
                             case primitive2d::TEXT_FONT_EMPHASIS_MARK_NONE:   eFontEmphasisMark = FontEmphasisMark::NONE; break;
                             case primitive2d::TEXT_FONT_EMPHASIS_MARK_DOT:    eFontEmphasisMark = FontEmphasisMark::Dot; break;
                             case primitive2d::TEXT_FONT_EMPHASIS_MARK_CIRCLE: eFontEmphasisMark = FontEmphasisMark::Circle; break;
@@ -209,7 +209,7 @@ namespace drawinglayer
                         {
                             default:
                                 SAL_WARN( "drawinglayer", "Unknown Relief style " << pTCPP->getTextRelief() );
-                                // fall through
+                                SAL_FALLTHROUGH;
                             case primitive2d::TEXT_RELIEF_NONE:     eFontRelief = RELIEF_NONE; break;
                             case primitive2d::TEXT_RELIEF_EMBOSSED: eFontRelief = RELIEF_EMBOSSED; break;
                             case primitive2d::TEXT_RELIEF_ENGRAVED: eFontRelief = RELIEF_ENGRAVED; break;
diff --git a/editeng/source/editeng/eehtml.cxx b/editeng/source/editeng/eehtml.cxx
index bee0d5d..58620b6 100644
--- a/editeng/source/editeng/eehtml.cxx
+++ b/editeng/source/editeng/eehtml.cxx
@@ -292,7 +292,7 @@ void EditHTMLParser::NextToken( int nToken )
     case HTML_TABLEHEADER_ON:
     case HTML_TABLEDATA_ON:
         nInCell++;
-    // fall through
+        SAL_FALLTHROUGH;
     case HTML_BLOCKQUOTE_ON:
     case HTML_BLOCKQUOTE_OFF:
     case HTML_BLOCKQUOTE30_ON:
@@ -316,8 +316,8 @@ void EditHTMLParser::NextToken( int nToken )
     {
         if ( nInCell )
             nInCell--;
+        SAL_FALLTHROUGH;
     }
-    // fall through
     case HTML_LISTHEADER_OFF:
     case HTML_LI_OFF:
     case HTML_DD_OFF:
diff --git a/editeng/source/items/frmitems.cxx b/editeng/source/items/frmitems.cxx
index 63cca06..00a41e2 100644
--- a/editeng/source/items/frmitems.cxx
+++ b/editeng/source/items/frmitems.cxx
@@ -1867,28 +1867,28 @@ bool SvxBoxItem::PutValue( const uno::Any& rVal, sal_uInt8 nMemberId )
         }
         case LEFT_BORDER_DISTANCE:
             bDistMember = true;
-            //fall-through
+            SAL_FALLTHROUGH;
         case LEFT_BORDER:
         case MID_LEFT_BORDER:
             nLine = SvxBoxItemLine::LEFT;
             break;
         case RIGHT_BORDER_DISTANCE:
             bDistMember = true;
-            //fall-through
+            SAL_FALLTHROUGH;
         case RIGHT_BORDER:
         case MID_RIGHT_BORDER:
             nLine = SvxBoxItemLine::RIGHT;
             break;
         case BOTTOM_BORDER_DISTANCE:
             bDistMember = true;
-            //fall-through
+            SAL_FALLTHROUGH;
         case BOTTOM_BORDER:
         case MID_BOTTOM_BORDER:
             nLine = SvxBoxItemLine::BOTTOM;
             break;
         case TOP_BORDER_DISTANCE:
             bDistMember = true;
-            //fall-through
+            SAL_FALLTHROUGH;
         case TOP_BORDER:
         case MID_TOP_BORDER:
             nLine = SvxBoxItemLine::TOP;
diff --git a/editeng/source/items/textitem.cxx b/editeng/source/items/textitem.cxx
index 68e6abe..23243aa 100644
--- a/editeng/source/items/textitem.cxx
+++ b/editeng/source/items/textitem.cxx
@@ -3332,7 +3332,7 @@ void SvxScriptSetItem::GetSlotIds( sal_uInt16 nSlotId, sal_uInt16& rLatin,
     {
     default:
         DBG_ASSERT( false, "wrong SlotId for class SvxScriptSetItem" );
-        // no break - default to font - Id Range !!
+        SAL_FALLTHROUGH; // default to font - Id Range !!
 
     case SID_ATTR_CHAR_FONT:
         rLatin = SID_ATTR_CHAR_FONT;
diff --git a/editeng/source/rtf/rtfitem.cxx b/editeng/source/rtf/rtfitem.cxx
index 3298878..f10a60e 100644
--- a/editeng/source/rtf/rtfitem.cxx
+++ b/editeng/source/rtf/rtfitem.cxx
@@ -1366,17 +1366,17 @@ static void SetBorderLine( int nBorderTyp, SvxBoxItem& rItem,
         rItem.SetLine( &rBorder, SvxBoxItemLine::TOP );
         if( RTF_BOX != nBorderTyp )
             return;
-        // fall-through
+        SAL_FALLTHROUGH;
     case RTF_BRDRB:
         rItem.SetLine( &rBorder, SvxBoxItemLine::BOTTOM );
         if( RTF_BOX != nBorderTyp )
             return;
-        // fall-through
+        SAL_FALLTHROUGH;
     case RTF_BRDRL:
         rItem.SetLine( &rBorder, SvxBoxItemLine::LEFT );
         if( RTF_BOX != nBorderTyp )
             return;
-        // fall-through
+        SAL_FALLTHROUGH;
     case RTF_BRDRR:
         rItem.SetLine( &rBorder, SvxBoxItemLine::RIGHT );
         if( RTF_BOX != nBorderTyp )
@@ -1815,7 +1815,9 @@ void SvxRTFParser::SetDefault( int nToken, int nValue )
     bIsLeftToRightDef = true;
     switch( nToken )
     {
-    case RTF_ADEFF: bIsLeftToRightDef = false;  // no break!
+    case RTF_ADEFF:
+        bIsLeftToRightDef = false;
+        SAL_FALLTHROUGH;
     case RTF_DEFF:
         {
             if( -1 == nValue )
@@ -1829,7 +1831,9 @@ void SvxRTFParser::SetDefault( int nToken, int nValue )
         }
         break;
 
-    case RTF_ADEFLANG:  bIsLeftToRightDef = false;  // no break!
+    case RTF_ADEFLANG:
+        bIsLeftToRightDef = false;
+        SAL_FALLTHROUGH;
     case RTF_DEFLANG:
         // store default Language
         if( -1 != nValue )
diff --git a/editeng/source/rtf/svxrtf.cxx b/editeng/source/rtf/svxrtf.cxx
index 0c5a452..c67fc84 100644
--- a/editeng/source/rtf/svxrtf.cxx
+++ b/editeng/source/rtf/svxrtf.cxx
@@ -187,7 +187,7 @@ void SvxRTFParser::NextToken( int nToken )
     case RTF_RDBLQUOTE:     cCh = 0x201D;   goto INSINGLECHAR;
 INSINGLECHAR:
         aToken = OUString(cCh);
-        // no Break, aToken is set as Text
+        SAL_FALLTHROUGH; // aToken is set as Text
     case RTF_TEXTTOKEN:
         {
             InsertText();
@@ -418,7 +418,7 @@ void SvxRTFParser::ReadColorTable()
                     : -1 == aToken.indexOf( ";" ) )
                 break;      // At least the ';' must be found
 
-            // else no break !!
+            SAL_FALLTHROUGH;
 
         case ';':
             if( IsParserWorking() )
@@ -509,7 +509,7 @@ void SvxRTFParser::ReadFontTable()
             // for technical/symbolic font of the rtl_TextEncoding is changed!
             case RTF_FTECH:
                 pFont->SetCharSet( RTL_TEXTENCODING_SYMBOL );
-                // deliberate fall through
+                SAL_FALLTHROUGH;
             case RTF_FNIL:
                 pFont->SetFamily( FAMILY_DONTKNOW );
                 break;
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index ee78fae..6e88eb8 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -405,7 +405,7 @@ bool OleEmbeddedObject::TryToConvertToOOo()
 
                     throw uno::RuntimeException(); // the repairing is not possible
                 }
-                // no break as designed!
+                SAL_FALLTHROUGH;
 
             case 1:
             case 0:
diff --git a/extensions/source/abpilot/abspilot.cxx b/extensions/source/abpilot/abspilot.cxx
index 76ba86e..fb35783 100644
--- a/extensions/source/abpilot/abspilot.cxx
+++ b/extensions/source/abpilot/abspilot.cxx
@@ -246,7 +246,7 @@ namespace abp
             implCreateDataSource();
             if ( needAdminInvokationPage() )
                 break;
-            // no break here
+            SAL_FALLTHROUGH;
 
         case STATE_INVOKE_ADMIN_DIALOG:
             if ( !connectToDataSource( false ) )
diff --git a/extensions/source/bibliography/datman.cxx b/extensions/source/bibliography/datman.cxx
index 844c0cc..0ec1fe2 100644
--- a/extensions/source/bibliography/datman.cxx
+++ b/extensions/source/bibliography/datman.cxx
@@ -709,7 +709,7 @@ void BibDataManager::InsertFields(const Reference< XFormComponent > & _rxGrid)
                 case DataType::CHAR:
                 case DataType::CLOB:
                     bFormattedIsNumeric = false;
-                    // _NO_ break !
+                    SAL_FALLTHROUGH;
                 default:
                     sCurrentModelType = "FormattedField";
                     bIsFormatted = true;
diff --git a/extensions/source/propctrlr/eformshelper.cxx b/extensions/source/propctrlr/eformshelper.cxx
index dfce9d7..075b3f1 100644
--- a/extensions/source/propctrlr/eformshelper.cxx
+++ b/extensions/source/propctrlr/eformshelper.cxx
@@ -164,7 +164,7 @@ namespace pcr
                         break;
                     }
                 }
-                // NO break here!
+                SAL_FALLTHROUGH;
             }
             case FormComponentType::LISTBOX:
             case FormComponentType::COMBOBOX:
diff --git a/extensions/source/propctrlr/eformspropertyhandler.cxx b/extensions/source/propctrlr/eformspropertyhandler.cxx
index d7daaed..29ba124 100644
--- a/extensions/source/propctrlr/eformspropertyhandler.cxx
+++ b/extensions/source/propctrlr/eformspropertyhandler.cxx
@@ -572,8 +572,8 @@ namespace pcr
             bool bBoundToSomeModel = !sDataModelName.isEmpty();
             _rxInspectorUI->rebuildPropertyUI( PROPERTY_BINDING_NAME );
             _rxInspectorUI->enablePropertyUI( PROPERTY_BINDING_NAME, bBoundToSomeModel );
+            SAL_FALLTHROUGH;
         }
-        // NO break
 
         case PROPERTY_ID_BINDING_NAME:
         {
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index fdfb3a5..4f32e20 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -1554,7 +1554,7 @@ namespace pcr
 
             // Command also depends on DataSource
             aDependentProperties.push_back( PROPERTY_ID_COMMAND );
-            // NO break!
+            SAL_FALLTHROUGH;
 
         // ----- Command -----
         case PROPERTY_ID_COMMAND:
@@ -1571,7 +1571,7 @@ namespace pcr
                 _rxInspectorUI->rebuildPropertyUI( PROPERTY_LISTSOURCE );
             aDependentProperties.push_back( PROPERTY_ID_STRINGITEMLIST );
             aDependentProperties.push_back( PROPERTY_ID_BOUNDCOLUMN );
-            // NO break!
+            SAL_FALLTHROUGH;
 
         // ----- StringItemList -----
         case PROPERTY_ID_STRINGITEMLIST:
@@ -1676,8 +1676,8 @@ namespace pcr
             FormButtonType eButtonType( FormButtonType_PUSH );
             OSL_VERIFY( _rNewValue >>= eButtonType );
             _rxInspectorUI->enablePropertyUI( PROPERTY_TARGET_URL, FormButtonType_URL == eButtonType );
+            SAL_FALLTHROUGH;
         }
-        // NO break!
 
         // ----- TargetURL -----
         case PROPERTY_ID_TARGET_URL:
diff --git a/extensions/source/propctrlr/formgeometryhandler.cxx b/extensions/source/propctrlr/formgeometryhandler.cxx
index 996ec01..fda8276 100644
--- a/extensions/source/propctrlr/formgeometryhandler.cxx
+++ b/extensions/source/propctrlr/formgeometryhandler.cxx
@@ -450,7 +450,7 @@ namespace pcr
             case PROPERTY_ID_WIDTH:
             case PROPERTY_ID_HEIGHT:
                 bIsSize = true;
-                // NO break!
+                SAL_FALLTHROUGH;
             case PROPERTY_ID_POSITIONX:
             case PROPERTY_ID_POSITIONY:
             {
diff --git a/extensions/source/propctrlr/handlerhelper.cxx b/extensions/source/propctrlr/handlerhelper.cxx
index ee9bce1..ad612c5 100644
--- a/extensions/source/propctrlr/handlerhelper.cxx
+++ b/extensions/source/propctrlr/handlerhelper.cxx
@@ -99,7 +99,7 @@ namespace pcr
 
         default:
             OSL_FAIL( "PropertyHandlerHelper::describePropertyLine: don't know how to represent this at the UI!" );
-            // NO break!
+            SAL_FALLTHROUGH;
 
         case TypeClass_STRING:
             nControlType = PropertyControlType::TextField;
diff --git a/filter/source/flash/swfwriter1.cxx b/filter/source/flash/swfwriter1.cxx
index b113e31..7ad1513 100644
--- a/filter/source/flash/swfwriter1.cxx
+++ b/filter/source/flash/swfwriter1.cxx
@@ -1766,8 +1766,8 @@ void Writer::Impl_writeActions( const GDIMetaFile& rMtf )
             {
                 const MetaISectRectClipRegionAction* pA = static_cast<const MetaISectRectClipRegionAction*>(pAction);
                 clipRect = pA->GetRect();
+                SAL_FALLTHROUGH;
             }
-            // fall-through
             case MetaActionType::CLIPREGION:
             case MetaActionType::ISECTREGIONCLIPREGION:
             case MetaActionType::MOVECLIPREGION:
@@ -1779,8 +1779,8 @@ void Writer::Impl_writeActions( const GDIMetaFile& rMtf )
             case MetaActionType::MAPMODE:
             {
                 bMap++;
+                SAL_FALLTHROUGH;
             }
-            // fall-through
             case MetaActionType::REFPOINT:
             case MetaActionType::LINECOLOR:
             case MetaActionType::FILLCOLOR:
diff --git a/filter/source/graphicfilter/idxf/dxfentrd.cxx b/filter/source/graphicfilter/idxf/dxfentrd.cxx
index 755b9df..85508ac 100644
--- a/filter/source/graphicfilter/idxf/dxfentrd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfentrd.cxx
@@ -699,7 +699,7 @@ void DXFHatchEntity::EvaluateGroup( DXFGroupReader & rDGR )
 
         case 92:
             nCurrentBoundaryPathIndex++;
-            //fallthrough
+            SAL_FALLTHROUGH;
         default:
         {
             bool bExecutingGroupCode = false;
diff --git a/filter/source/graphicfilter/ios2met/ios2met.cxx b/filter/source/graphicfilter/ios2met/ios2met.cxx
index 05ec943..f481f5e 100644
--- a/filter/source/graphicfilter/ios2met/ios2met.cxx
+++ b/filter/source/graphicfilter/ios2met/ios2met.cxx
@@ -698,11 +698,11 @@ void OS2METReader::SetPen( const Color& rColor, sal_uInt16 nLineWidth, PenStyle
         break;
         case PEN_DASHDOT :
             nDashCount++;
-            //fall-through
+            SAL_FALLTHROUGH;
         case PEN_DOT :
             nDotCount++;
             nDashCount--;
-            //fall-through
+            SAL_FALLTHROUGH;
         case PEN_DASH :
             nDashCount++;
             aLineInfo.SetDotCount( nDotCount );
diff --git a/filter/source/graphicfilter/ipbm/ipbm.cxx b/filter/source/graphicfilter/ipbm/ipbm.cxx
index 58d376e..7cdc3e1 100644
--- a/filter/source/graphicfilter/ipbm/ipbm.cxx
+++ b/filter/source/graphicfilter/ipbm/ipbm.cxx
@@ -156,7 +156,7 @@ bool PBMReader::ImplReadHeader()
     {
         case '1' :
             mbRaw = false;
-            //fall-through
+            SAL_FALLTHROUGH;
         case '4' :
             mnMode = 0;
             nMax = 2;               // number of parameters in Header
@@ -164,14 +164,14 @@ bool PBMReader::ImplReadHeader()
             break;
         case '2' :
             mbRaw = false;
-            //fall-through
+            SAL_FALLTHROUGH;
         case '5' :
             mnMode = 1;
             nMax = 3;
             break;
         case '3' :
             mbRaw = false;
-            //fall-through
+            SAL_FALLTHROUGH;
         case '6' :
             mnMode = 2;
             nMax = 3;
diff --git a/filter/source/graphicfilter/ipsd/ipsd.cxx b/filter/source/graphicfilter/ipsd/ipsd.cxx
index 249ecfb..3dcc603 100644
--- a/filter/source/graphicfilter/ipsd/ipsd.cxx
+++ b/filter/source/graphicfilter/ipsd/ipsd.cxx
@@ -242,7 +242,7 @@ bool PSDReader::ImplReadHeader()
         case PSD_DUOTONE :                  // we'll handle the duotone color like a normal grayscale picture
             m_rPSD.SeekRel( nColorLength );
             nColorLength = 0;
-            /* Fall through */
+            SAL_FALLTHROUGH;
         case PSD_GRAYSCALE :
         {
             if ( nColorLength )
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index b72a659..ed227e0 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -761,11 +761,11 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
                             switch ( aPlaceholderAtom.nPlaceholderId )
                             {
                                 case PptPlaceholder::MASTERSLIDENUMBER :    nHeaderFooterInstance++;
-                                // fall-through
+                                    SAL_FALLTHROUGH;
                                 case PptPlaceholder::MASTERFOOTER :         nHeaderFooterInstance++;
-                                // fall-through
+                                    SAL_FALLTHROUGH;
                                 case PptPlaceholder::MASTERHEADER :         nHeaderFooterInstance++;
-                                // fall-through
+                                    SAL_FALLTHROUGH;
                                 case PptPlaceholder::MASTERDATE :           nHeaderFooterInstance++; break;
                                 default: break;
 
@@ -6438,13 +6438,13 @@ void PPTFieldEntry::GetDateTime( const sal_uInt32 nVal, SvxDateFormat& eDateForm
         break;
         case 7:
             eDateFormat = SVXDATEFORMAT_A;
-            //fall-through
+            SAL_FALLTHROUGH;
         case 9:
             eTimeFormat = SVXTIMEFORMAT_24_HM;
         break;
         case 8:
             eDateFormat = SVXDATEFORMAT_A;
-            //fall-through
+            SAL_FALLTHROUGH;
         case 11:
             eTimeFormat = SVXTIMEFORMAT_12_HM;
         break;
@@ -6554,7 +6554,7 @@ PPTTextObj::PPTTextObj( SvStream& rIn, SdrPowerPointImport& rSdrPowerPointImport
                 {
                     case PPT_NOTEPAGE :
                         nInstance++;
-                        // fall-through
+                        SAL_FALLTHROUGH;
                     case PPT_MASTERPAGE :
                         nInstance++;
                         break;
diff --git a/filter/source/msfilter/util.cxx b/filter/source/msfilter/util.cxx
index 1b7bac4..3b85e1c 100644
--- a/filter/source/msfilter/util.cxx
+++ b/filter/source/msfilter/util.cxx
@@ -479,7 +479,7 @@ EquationResult Read_SubF_Combined(WW8ReadFieldParams& rReadParam)
             break;
         }
         (void)rReadParam.SkipToNextToken();
-        // intentional fall-through
+        SAL_FALLTHROUGH;
     case -2:
         {
             if ( rReadParam.GetResult().startsWithIgnoreAsciiCase("(") )
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index 18403f6..acc0912 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -2263,7 +2263,7 @@ IMPL_LINK_TYPED( SVGFilter, CalcFieldHdl, EditFieldInfo*, pInfo, void )
                                     aDate.SetDay( i );
                                     sDate += SvxDateField::GetFormatted( aDate, eDateFormat, *pNumberFormatter, eLang );
                                 }
-                                // No break here! We need months too!
+                                SAL_FALLTHROUGH; // We need months too!
                             case SVXDATEFORMAT_C:       // 13.Feb 1996
                             case SVXDATEFORMAT_D:       // 13.February 1996
                                 for( sal_uInt16 i = 1; i <= 12; ++i ) // we get all months in a year
diff --git a/forms/source/component/Filter.cxx b/forms/source/component/Filter.cxx
index 805edef..acafec2 100644
--- a/forms/source/component/Filter.cxx
+++ b/forms/source/component/Filter.cxx
@@ -211,14 +211,14 @@ namespace frm
                 {
                     Reference< XListBox >  xListBox( getPeer(), UNO_QUERY_THROW );
                     xListBox->addItemListener( this );
+                    SAL_FALLTHROUGH;
                 }
-                // no break
 
                 case FormComponentType::COMBOBOX:
                 {
                     xVclWindow->setProperty(PROPERTY_AUTOCOMPLETE, makeAny( true ) );
+                    SAL_FALLTHROUGH;
                 }
-                // no break
 
                 default:
                 {
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index d0ac794..c027352 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -943,8 +943,8 @@ Any OFormattedModel::translateControlValueToExternalValue( ) const
             aExternalValue <<= sString;
             break;
         }
+        SAL_FALLTHROUGH;
     }
-    // NO break here!
     case TypeClass_BOOLEAN:
     {
         double fValue = 0;
diff --git a/forms/source/runtime/formoperations.cxx b/forms/source/runtime/formoperations.cxx
index fa3d428..744a11b7 100644
--- a/forms/source/runtime/formoperations.cxx
+++ b/forms/source/runtime/formoperations.cxx
@@ -448,7 +448,7 @@ namespace frm
                 {
                 case RET_NO:
                     shouldCommit = false;
-                    // no break on purpose: don't ask again!
+                    SAL_FALLTHROUGH; // don't ask again!
                 case RET_YES:
                     needConfirmation = false;
                     return true;
diff --git a/forms/source/xforms/model.cxx b/forms/source/xforms/model.cxx
index 9d996f8..746cce8 100644
--- a/forms/source/xforms/model.cxx
+++ b/forms/source/xforms/model.cxx
@@ -323,8 +323,8 @@ bool Model::setSimpleContent( const XNode_t& xConstNode,
             OSL_ENSURE( xNode.is() &&
                         xNode->getNodeType() == NodeType_TEXT_NODE,
                         "text node creation failed?" );
+            SAL_FALLTHROUGH; // continue as with text node:
         }
-        // no break; continue as with text node:
 
         case NodeType_TEXT_NODE:
         case NodeType_ATTRIBUTE_NODE:
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index f36352e..1588a7e 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -1812,7 +1812,7 @@ void HwpReader::makeColumns(ColumnDef *coldef)
         {
              case 1:                           /* thin line */
                   padd("style:width", sXML_CDATA, "0.02mm");
-                  //fall-through
+                  SAL_FALLTHROUGH;
              case 3:                           /* dotted line */
                   padd("style:style", sXML_CDATA, "dotted");
                   padd("style:width", sXML_CDATA, "0.02mm");
@@ -3402,7 +3402,7 @@ void HwpReader::makeDateFormat(DateCode * hbox)
                 break;
             case '_':
                 padd("number:style", sXML_CDATA, "long");
-                //fall-through
+                SAL_FALLTHROUGH;
             case '6':
             case '^':
                 rstartEl("number:day-of-week", rList);
diff --git a/i18npool/source/calendar/calendar_gregorian.cxx b/i18npool/source/calendar/calendar_gregorian.cxx
index 5e24dee..fc470e1 100644
--- a/i18npool/source/calendar/calendar_gregorian.cxx
+++ b/i18npool/source/calendar/calendar_gregorian.cxx
@@ -868,7 +868,7 @@ static sal_Int16 SAL_CALL NatNumForCalendar(const css::lang::Locale& aLocale,
             case NativeNumberMode::NATNUM4:
                 if (isKorean)
                     return isShort ? NativeNumberMode::NATNUM9 : NativeNumberMode::NATNUM11;
-                // fall through
+                SAL_FALLTHROUGH;
             default: return 0;
         }
     }
@@ -1092,7 +1092,7 @@ Calendar_gregorian::getDisplayStringImpl( sal_Int32 nCalendarDisplayCode, sal_In
         switch( nCalendarDisplayCode ) {
             case CalendarDisplayCode::SHORT_MONTH:
                 value += 1;     // month is zero based
-                // fall through
+                SAL_FALLTHROUGH;
             case CalendarDisplayCode::SHORT_DAY:
                 sprintf(aStr, "%d", value);     // #100211# - checked
                 break;
diff --git a/i18npool/source/characterclassification/cclass_unicode_parser.cxx b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
index 2a6f954..94019c7 100644
--- a/i18npool/source/characterclassification/cclass_unicode_parser.cxx
+++ b/i18npool/source/characterclassification/cclass_unicode_parser.cxx
@@ -372,7 +372,7 @@ sal_Int32 cclass_Unicode::getParseTokensType(sal_uInt32 const c, bool const isFi
             case U_OTHER_LETTER :
                 // Non_Spacing_Mark could not be as leading character
                 if (isFirst) break;
-                // fall through, treat it as Other_Letter.
+                SAL_FALLTHROUGH; // treat it as Other_Letter.
             case U_NON_SPACING_MARK :
                 return KParseTokens::UNI_OTHER_LETTER;
             case U_DECIMAL_DIGIT_NUMBER :
@@ -642,7 +642,7 @@ UPT_FLAG_TYPE cclass_Unicode::getFlagsExtended(sal_uInt32 const c)
             // nor can a spacing combining mark.
             if (bStart)
                 return TOKEN_ILLEGAL;
-            // fall through, treat it as Other_Letter.
+            SAL_FALLTHROUGH; // treat it as Other_Letter.
         case U_OTHER_LETTER :
             return (nTypes & KParseTokens::UNI_OTHER_LETTER) ?
                 (bStart ? TOKEN_CHAR_WORD : TOKEN_WORD) :
@@ -890,7 +890,7 @@ void cclass_Unicode::parseText( ParseResult& r, const OUString& rText, sal_Int32
             break;
             case ssGetWordFirstChar :
                 eState = ssGetWord;
-                // fall through
+                SAL_FALLTHROUGH;
             case ssGetWord :
             {
                 if ( nMask & TOKEN_WORD )
diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index f0c76e4..5428d2a 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -318,8 +318,8 @@ OUString toRoman( sal_Int32 n )
         }
         switch( nZahl )
         {
-            case 3: sTmp.append(*cRomanStr);           //no break!
-            case 2: sTmp.append(*cRomanStr);           //no break!
+            case 3: sTmp.append(*cRomanStr);           SAL_FALLTHROUGH;
+            case 2: sTmp.append(*cRomanStr);           SAL_FALLTHROUGH;
             case 1: sTmp.append(*cRomanStr);           break;
             case 4: sTmp.append(*cRomanStr).append(*(cRomanStr-nDiff)); break;
             case 5: sTmp.append(*(cRomanStr-nDiff));   break;
diff --git a/i18npool/source/indexentry/indexentrysupplier_default.cxx b/i18npool/source/indexentry/indexentrysupplier_default.cxx
index 72967bd..6db7a11 100644
--- a/i18npool/source/indexentry/indexentrysupplier_default.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_default.cxx
@@ -214,7 +214,7 @@ void Index::makeIndexKeys(const lang::Locale &rLocale, const OUString &algorithm
                 break;
             case sal_Unicode('{'):
                 close = '}';
-                //fall-through
+                SAL_FALLTHROUGH;
             case sal_Unicode('('):
                 if (key_count > 0) {
                     sal_Int16 end = i+1;
diff --git a/i18npool/source/localedata/LocaleNode.cxx b/i18npool/source/localedata/LocaleNode.cxx
index a811fb2..840a072 100644
--- a/i18npool/source/localedata/LocaleNode.cxx
+++ b/i18npool/source/localedata/LocaleNode.cxx
@@ -784,7 +784,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
                                 sTheCompatibleCurrency = aCode.copy( nStart + 2, nHyphen - nStart - 2);
                         }
                     }
-                    // fallthru
+                    SAL_FALLTHROUGH;
                 case cssi::NumberFormatIndex::CURRENCY_1000INT :
                 case cssi::NumberFormatIndex::CURRENCY_1000INT_RED :
                 case cssi::NumberFormatIndex::CURRENCY_1000DEC2_RED :
@@ -1117,7 +1117,7 @@ void LCFormatNode::generateCode (const OFileWriter &of) const
                     // separators and generate a second pattern with the
                     // format's separator at the current position.
                     cDateSep2 = cChar;
-                    // fallthru
+                    SAL_FALLTHROUGH;
                 default:
                 handleDefault:
                     if (!cDateSep)
diff --git a/i18npool/source/localedata/localedata.cxx b/i18npool/source/localedata/localedata.cxx
index 06da7af..5d42f01 100644
--- a/i18npool/source/localedata/localedata.cxx
+++ b/i18npool/source/localedata/localedata.cxx
@@ -649,7 +649,7 @@ Sequence< CalendarItem2 > &LocaleDataImpl::getCalendarItemByName(const OUString&
             return ref_cal.PartitiveMonths;
         default:
             OSL_FAIL( "LocaleDataImpl::getCalendarItemByName: unhandled REF_* case");
-            // fallthru
+            SAL_FALLTHROUGH;
         case REF_ERAS:
             return ref_cal.Eras;
     }
diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index 5791ff6..c71dea3 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -251,7 +251,7 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions ) throw( RuntimeExc
 
         default:
             SAL_WARN("i18npool","TextSearch::setOptions2 - default what?");
-            // fallthru
+            SAL_FALLTHROUGH;
         case SearchAlgorithms2::ABSOLUTE:
             fnForward = &TextSearch::NSrchFrwrd;
             fnBackward = &TextSearch::NSrchBkwrd;
@@ -272,7 +272,7 @@ void TextSearch::setOptions( const SearchOptions& rOptions ) throw( RuntimeExcep
             break;
         default:
             SAL_WARN("i18npool","TextSearch::setOptions - default what?");
-            // fallthru
+            SAL_FALLTHROUGH;
         case SearchAlgorithms_ABSOLUTE:
             nAlgorithmType2 = SearchAlgorithms2::ABSOLUTE;
             break;
diff --git a/idlc/source/options.cxx b/idlc/source/options.cxx
index e430f1c..23de54a 100644
--- a/idlc/source/options.cxx
+++ b/idlc/source/options.cxx
@@ -153,8 +153,8 @@ bool Options::checkCommandFile (std::vector< std::string > & rArgs, char const *
               }
               break;
           }
+          SAL_FALLTHROUGH;
         default:
-          // quoted white-space fall through
           buffer.push_back(sal::static_int_cast<char>(c));
           break;
         }
diff --git a/include/sal/types.h b/include/sal/types.h
index 80df886..d72e9ee 100644
--- a/include/sal/types.h
+++ b/include/sal/types.h
@@ -445,6 +445,14 @@ namespace css = ::com::sun::star;
 #define SAL_CONSTEXPR
 #endif
 
+#if defined LIBO_INTERNAL_ONLY
+#if defined __clang__
+#define SAL_FALLTHROUGH [[clang::fallthrough]]
+#else
+#define SAL_FALLTHROUGH
+#endif
+#endif
+
 #endif /* __cplusplus */
 
 #ifdef __cplusplus
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
index f050288..90e813e 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
@@ -272,7 +272,7 @@ FileHandleReader::readLine(OString * pLine)
             {
             case osl_File_E_PIPE: //HACK! for windows
                 nRead = 0;
-                //fall-through
+                SAL_FALLTHROUGH;
             case osl_File_E_None:
                 if (nRead == 0)
                 {
diff --git a/libreofficekit/source/gtk/lokdocview.cxx b/libreofficekit/source/gtk/lokdocview.cxx
index 9d5f656..c14c8b1 100644
--- a/libreofficekit/source/gtk/lokdocview.cxx
+++ b/libreofficekit/source/gtk/lokdocview.cxx
@@ -886,7 +886,7 @@ globalCallback (gpointer pData)
     break;
     case LOK_CALLBACK_DOCUMENT_PASSWORD_TO_MODIFY:
         bModify = true;
-        // fallthrough
+        SAL_FALLTHROUGH;
     case LOK_CALLBACK_DOCUMENT_PASSWORD:
     {
         char const*const pURL(pCallback->m_aPayload.c_str());
diff --git a/lotuswordpro/source/filter/lwpobjstrm.cxx b/lotuswordpro/source/filter/lwpobjstrm.cxx
index 7dc67e7..748b48f 100644
--- a/lotuswordpro/source/filter/lwpobjstrm.cxx
+++ b/lotuswordpro/source/filter/lwpobjstrm.cxx
@@ -353,7 +353,7 @@ sal_uInt16 LwpObjectStream::DecompressBuffer(sal_uInt8* pDst, sal_uInt8* pSrc, s
 
                 *pDst++ = 0;
                 DstSize++;
-                // fall through into next case!
+                SAL_FALLTHROUGH;
 
             case 0xC0:
                 // 1 - 64 bytes of non-zero
diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx
index 774541f..74598fc 100644
--- a/oox/source/drawingml/color.cxx
+++ b/oox/source/drawingml/color.cxx
@@ -695,7 +695,7 @@ void Color::toCrgb() const
     {
         case COLOR_HSL:
             toRgb();
-            // run through!
+            SAL_FALLTHROUGH;
         case COLOR_RGB:
             meMode = COLOR_CRGB;
             mnC1 = lclGamma( lclRgbCompToCrgbComp( mnC1 ), DEC_GAMMA );
@@ -716,7 +716,7 @@ void Color::toHsl() const
     {
         case COLOR_CRGB:
             toRgb();
-            // run through!
+            SAL_FALLTHROUGH;
         case COLOR_RGB:
         {
             meMode = COLOR_HSL;
diff --git a/oox/source/drawingml/customshapegeometry.cxx b/oox/source/drawingml/customshapegeometry.cxx
index d019c9f..4557a6d 100644
--- a/oox/source/drawingml/customshapegeometry.cxx
+++ b/oox/source/drawingml/customshapegeometry.cxx
@@ -223,18 +223,24 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
             }
             break;
 
-            case XML_hd10 :   // !!PASSTHROUGH INTENDED
+            case XML_hd10 :
                 nIntVal += 2; // */ h 1.0 10.0
+                SAL_FALLTHROUGH;
             case XML_hd8 :    // */ h 1.0 8.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_hd6 :    // */ h 1.0 6.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_hd5 :    // */ h 1.0 5.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_hd4 :    // */ h 1.0 4.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_hd3 :    // */ h 1.0 3.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_hd2 :    // */ h 1.0 2.0
             case XML_vc :     // */ h 1.0 2.0
             {
@@ -279,14 +285,19 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
             break;
             case XML_ssd32 : // */ ss 1.0 32.0
                 nIntVal += 16;
+                SAL_FALLTHROUGH;
             case XML_ssd16 : // */ ss 1.0 16.0
                 nIntVal += 8;
+                SAL_FALLTHROUGH;
             case XML_ssd8 :  // */ ss 1.0 8.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_ssd6 :  // */ ss 1.0 6.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_ssd4 :  // */ ss 1.0 4.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_ssd2 :  // */ ss 1.0 2.0
             {
                 nIntVal += 2;
@@ -319,20 +330,28 @@ static EnhancedCustomShapeParameter GetAdjCoordinate( CustomShapeProperties& rCu
 
             case XML_wd32 : // */ w 1.0 32.0
                 nIntVal += 20;
+                SAL_FALLTHROUGH;
             case XML_wd12 : // */ w 1.0 12.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_wd10 : // */ w 1.0 10.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_wd8 :  // */ w 1.0 8.0
                 nIntVal += 2;
+                SAL_FALLTHROUGH;
             case XML_wd6 :  // */ w 1.0 6.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_wd5 :  // */ w 1.0 5.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_wd4 :  // */ w 1.0 4.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_wd3 :  // */ w 1.0 3.0
                 nIntVal++;
+                SAL_FALLTHROUGH;
             case XML_hc :   // */ w 1.0 2.0
             case XML_wd2 :  // */ w 1.0 2.0
             {
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx
index 87dd2e1..880351d 100644
--- a/oox/source/export/drawingml.cxx
+++ b/oox/source/export/drawingml.cxx
@@ -633,7 +633,7 @@ void DrawingML::WriteOutline( const Reference<XPropertySet>& rXPropSet )
                 SAL_INFO("oox.shape", "dash dots: " << aLineDash.Dots << " dashes: " << aLineDash.Dashes
                         << " dotlen: " << aLineDash.DotLen << " dashlen: " << aLineDash.DashLen <<  " distance: " <<  aLineDash.Distance);
             }
-            /* fallthru intended */
+            SAL_FALLTHROUGH;
         case drawing::LineStyle_SOLID:
         default:
             if ( GETA( LineColor ) )
diff --git a/oox/source/ole/axcontrol.cxx b/oox/source/ole/axcontrol.cxx
index fe2c9df..3d5084f 100644
--- a/oox/source/ole/axcontrol.cxx
+++ b/oox/source/ole/axcontrol.cxx
@@ -398,7 +398,7 @@ void ControlConverter::convertAxBackground( PropertyMap& rPropMap,
         break;
         case API_TRANSPARENCY_PAINTTRANSPARENT:
             rPropMap.setProperty( PROP_PaintTransparent, !bOpaque );
-            // run-through intended!
+            SAL_FALLTHROUGH;
         case API_TRANSPARENCY_VOID:
             // keep transparency by leaving the (void) default property value
             if( bOpaque )
diff --git a/oox/source/vml/vmlformatting.cxx b/oox/source/vml/vmlformatting.cxx
index 5fee25e..b0b36fa 100644
--- a/oox/source/vml/vmlformatting.cxx
+++ b/oox/source/vml/vmlformatting.cxx
@@ -781,7 +781,7 @@ void FillModel::pushToPropMap( ShapePropertyMap& rPropMap, const GraphicHelper&
                     }
                 }
             }
-            // run-through to XML_solid in case of missing bitmap path intended!
+            SAL_FALLTHROUGH; // to XML_solid in case of missing bitmap path intended!
 
             case XML_solid:
             default:
diff --git a/registry/tools/options.cxx b/registry/tools/options.cxx
index 71c7162..6584a0e 100644
--- a/registry/tools/options.cxx
+++ b/registry/tools/options.cxx
@@ -117,8 +117,8 @@ bool Options::checkCommandFile(std::vector< std::string > & rArgs, char const *
                 }
                 break;
             }
+            SAL_FALLTHROUGH;
         default:
-            // quoted white-space fall through
             buffer.push_back(sal::static_int_cast<char>(c));
             break;
         }
diff --git a/reportdesign/source/filter/xml/xmlfilter.cxx b/reportdesign/source/filter/xml/xmlfilter.cxx
index ba6df0b..c9d3404 100644
--- a/reportdesign/source/filter/xml/xmlfilter.cxx
+++ b/reportdesign/source/filter/xml/xmlfilter.cxx
@@ -596,7 +596,7 @@ bool ORptFilter::implImport( const Sequence< PropertyValue >& rDescriptor )
                         // TODO/LATER: no way to transport the error outside from the filter!
                         break;
                     }
-                    // fall through intended
+                    SAL_FALLTHROUGH;
                 default:
                     {
                         // TODO/LATER: this is completely wrong! Filter code should never call ErrorHandler directly! But for now this is the only way!
diff --git a/reportdesign/source/ui/dlg/GroupsSorting.cxx b/reportdesign/source/ui/dlg/GroupsSorting.cxx
index 62857d7..7cd7e96 100644
--- a/reportdesign/source/ui/dlg/GroupsSorting.cxx
+++ b/reportdesign/source/ui/dlg/GroupsSorting.cxx
@@ -748,7 +748,7 @@ void OFieldExpressionControl::Command(const CommandEvent& rEvt)
                         break;
                 }
             }
-            // run through
+            SAL_FALLTHROUGH;
         }
         default:
             EditBrowseBox::Command(rEvt);
diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx
index 2cad0b5..cb7759f 100644
--- a/reportdesign/source/ui/inspection/GeometryHandler.cxx
+++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx
@@ -975,7 +975,7 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const OUString & Prope
                 aPropertyValue <<= static_cast<sal_Int32>(COL_TRANSPARENT);
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
 
         case PROPERTY_ID_KEEPTOGETHER:
             if ( uno::Reference< report::XGroup>(m_xReportComponent,uno::UNO_QUERY).is())
@@ -983,7 +983,7 @@ uno::Any SAL_CALL GeometryHandler::convertToPropertyValue(const OUString & Prope
                 aPropertyValue = getConstantValue(false,RID_STR_KEEPTOGETHER_CONST,_rControlValue,"com.sun.star.report.KeepTogether",PropertyName);
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
 
         case PROPERTY_ID_VISIBLE:
         case PROPERTY_ID_CANGROW:
@@ -1139,7 +1139,7 @@ uno::Any SAL_CALL GeometryHandler::convertToControlValue(const OUString & Proper
                 aControlValue = getConstantValue(true,RID_STR_KEEPTOGETHER_CONST,aPropertyValue,"com.sun.star.report.KeepTogether",PropertyName);
                 break;
             }
-            // run through
+            SAL_FALLTHROUGH;
         case PROPERTY_ID_VISIBLE:
         case PROPERTY_ID_CANGROW:
         case PROPERTY_ID_CANSHRINK:
@@ -1245,7 +1245,7 @@ uno::Any SAL_CALL GeometryHandler::convertToControlValue(const OUString & Proper
                 if ( (aPropertyValue >>= nColor) && static_cast<sal_Int32>(COL_TRANSPARENT) == nColor )
                     aPropertyValue.clear();
             }
-            // run through
+            SAL_FALLTHROUGH;
         default:
             aControlValue = m_xFormComponentHandler->convertToControlValue(PropertyName, aPropertyValue, _rControlValueType);
     }
diff --git a/reportdesign/source/ui/report/ViewsWindow.cxx b/reportdesign/source/ui/report/ViewsWindow.cxx
index 0baafc1..b0ebb41 100644
--- a/reportdesign/source/ui/report/ViewsWindow.cxx
+++ b/reportdesign/source/ui/report/ViewsWindow.cxx
@@ -881,7 +881,7 @@ void OViewsWindow::alignMarkedObjects(sal_Int32 _nControlModification,bool _bAli
                         else if ( _nControlModification == ControlModification::WIDTH_GREATEST )
                             nYMov = aObjRect.getHeight();
                         lcl_getNewRectSize(aObjRect,nXMov,nYMov,pObj,pView,_nControlModification,false);
-                        // run through
+                        SAL_FALLTHROUGH;
                     case ControlModification::WIDTH_SMALLEST:
                     case ControlModification::HEIGHT_SMALLEST:
                         pView->AddUndo( pView->GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*pObj));
diff --git a/reportdesign/source/ui/report/dlgedfunc.cxx b/reportdesign/source/ui/report/dlgedfunc.cxx
index 9619f11..2a7f639 100644
--- a/reportdesign/source/ui/report/dlgedfunc.cxx
+++ b/reportdesign/source/ui/report/dlgedfunc.cxx
@@ -363,7 +363,7 @@ bool DlgEdFunc::handleKeyEvent(const KeyEvent& _rEvent)
                     bReturn = true;
                     break;
                 }
-                // run through
+                SAL_FALLTHROUGH;
             default:
             {
                 bReturn = m_rView.KeyInput(_rEvent, m_pParent);
diff --git a/rsc/source/parser/erscerr.cxx b/rsc/source/parser/erscerr.cxx
index edd7a4d..761dedb 100644
--- a/rsc/source/parser/erscerr.cxx
+++ b/rsc/source/parser/erscerr.cxx
@@ -124,7 +124,7 @@ void RscError::WriteError( const ERRTYPE& rError, const char * pMessage )
 
         case ERR_NOINPUT:
             StdLstErr( "Input file was not specified.\n");
-            //fall-through
+            SAL_FALLTHROUGH;
         case ERR_USAGE:
             StdLstOut( "Copyright (C) 2000 - 2012 LibreOffice contributors.\n" );
             {
diff --git a/rsc/source/parser/rsclex.cxx b/rsc/source/parser/rsclex.cxx
index 5edea4c..1db9c16 100644
--- a/rsc/source/parser/rsclex.cxx
+++ b/rsc/source/parser/rsclex.cxx
@@ -254,7 +254,7 @@ int MakeToken( YYSTYPE * pTokenVal )
                     break;
                 case INCLUDE:
                     bLastInclude = true;
-                    //fall-through
+                    SAL_FALLTHROUGH;
                 default:
                     pTokenVal->value = aKey.yylval;
                 }
diff --git a/sal/osl/unx/security.cxx b/sal/osl/unx/security.cxx
index e4ff675..8ea26db 100644
--- a/sal/osl/unx/security.cxx
+++ b/sal/osl/unx/security.cxx
@@ -132,7 +132,7 @@ oslSecurity SAL_CALL osl_getCurrentSecurity()
             if (found != nullptr) {
                 return p;
             }
-            /* fall through */
+            SAL_FALLTHROUGH;
         default:
             deleteSecurityImpl(p);
             return nullptr;
diff --git a/sal/rtl/digest.cxx b/sal/rtl/digest.cxx
index f5eae72..51cef81 100644
--- a/sal/rtl/digest.cxx
+++ b/sal/rtl/digest.cxx
@@ -702,13 +702,12 @@ static void endMD5 (DigestContextMD5 *ctx)
     switch (ctx->m_nDatLen & 0x03)
     {
         case 0: X[i]  = ((sal_uInt32)(*(p++))) <<  0L;
-            /* fallthrough */
+            SAL_FALLTHROUGH;
         case 1: X[i] |= ((sal_uInt32)(*(p++))) <<  8L;
-            /* fallthrough */
+            SAL_FALLTHROUGH;
         case 2: X[i] |= ((sal_uInt32)(*(p++))) << 16L;
-            /* fallthrough */
+            SAL_FALLTHROUGH;
         case 3: X[i] |= ((sal_uInt32)(*p)) << 24L;
-            /* fallthrough */

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list