From e7b11300cd813f821d1ec5cb4633ce2c5f7d1b9f Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 10 May 2016 16:42:16 +0200 Subject: 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. (cherry picked from commit 14cd5182c5f64c43581c82db8c958369152226ac) Change-Id: I342a7610a107db7d7a344ea9cbddfd9714d7e9ca --- 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 +- 5 files changed, 25 insertions(+), 6 deletions(-) (limited to 'oox') diff --git a/oox/source/drawingml/color.cxx b/oox/source/drawingml/color.cxx index e92713ba1b91..35d18df6a3f2 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 88aa8a72961f..3210528c81ba 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 a23314350c1f..319b791f7cd4 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -632,7 +632,7 @@ void DrawingML::WriteOutline( Reference 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 18a700e2b163..602b86e5f6a7 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 1d1dedbe0b65..491bb322533d 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: -- cgit v1.2.3