Re: [Boost-bugs] [Boost C++ Libraries] #8408: Boost is not compatible with Clang's -Wimplicit-fallthrough diagnostic

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #8408: Boost is not compatible with Clang's -Wimplicit-fallthrough diagnostic
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-04-08 17:56:44


#8408: Boost is not compatible with Clang's -Wimplicit-fallthrough diagnostic
------------------------------------------------------+---------------------
  Reporter: Alexander Kornienko <alexfh@…> | Owner: johnmaddock
      Type: Patches | Status: new
 Milestone: To Be Determined | Component: config
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
------------------------------------------------------+---------------------

Comment (by johnmaddock):

>On unsupported compilers (or in non-C++11 mode in Clang) it expands to
 "do {} while(0)", which requires a semicolon as well. This construct was
 meant to look and behave consistently with 'break;' statement, which it
 can be an alternative to in many cases. So requiring a semicolon after it
 seems to be reasonable.

 "do{}while(0)" generates a "Conditional expression is constant" warning on
 MSVC.

 Defining to "(void)" might do it, but it wouldn't surprise me if some
 compiler warned about that too in future :-(

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/8408#comment:6>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:12 UTC