Index: boost/locale/utf.hpp =================================================================== --- boost/locale/utf.hpp (revision 84007) +++ boost/locale/utf.hpp (working copy) @@ -222,6 +222,7 @@ if (!is_trail(tmp)) return illegal; c = (c << 6) | ( tmp & 0x3F); + BOOST_FALLTHROUGH; case 2: if(BOOST_LOCALE_UNLIKELY(p==e)) return incomplete; @@ -229,6 +230,7 @@ if (!is_trail(tmp)) return illegal; c = (c << 6) | ( tmp & 0x3F); + BOOST_FALLTHROUGH; case 1: if(BOOST_LOCALE_UNLIKELY(p==e)) return incomplete; @@ -272,8 +274,10 @@ switch(trail_size) { case 3: c = (c << 6) | ( static_cast(*p++) & 0x3F); + BOOST_FALLTHROUGH; case 2: c = (c << 6) | ( static_cast(*p++) & 0x3F); + BOOST_FALLTHROUGH; case 1: c = (c << 6) | ( static_cast(*p++) & 0x3F); } Index: libs/locale/src/util/gregorian.cpp =================================================================== --- libs/locale/src/util/gregorian.cpp (revision 84007) +++ libs/locale/src/util/gregorian.cpp (working copy) @@ -207,7 +207,7 @@ value += (-value / 7) * 7 + 7; // convert to local DOW value = (value - 1 - first_day_of_week_ + 14) % 7 + 1; - // fall throght + BOOST_FALLTHROUGH; case day_of_week_local: ///< Local day of week, for example in France Monday is 1, in US Sunday is 1, [1..7] normalize(); tm_updated_.tm_mday += (value - 1) - (tm_updated_.tm_wday - first_day_of_week_ + 7) % 7; @@ -666,8 +666,9 @@ normalize(); } } + break; default: - ; + break; } } @@ -726,7 +727,7 @@ case week_of_month: case week_of_year: factor = 7; - // fall + BOOST_FALLTHROUGH; case day: case day_of_year: case day_of_week: Index: libs/locale/test/test_locale.hpp =================================================================== --- libs/locale/test/test_locale.hpp (revision 84007) +++ libs/locale/test/test_locale.hpp (working copy) @@ -81,8 +81,10 @@ switch(l) { case 3: c = (c << 6) | (((unsigned char)s[pos++]) & 0x3F); + BOOST_FALLTHROUGH; case 2: c = (c << 6) | (((unsigned char)s[pos++]) & 0x3F); + BOOST_FALLTHROUGH; case 1: c = (c << 6) | (((unsigned char)s[pos++]) & 0x3F); }