Subject: [Boost-bugs] [Boost C++ Libraries] #10978: libs/coroutine/test_asymmetric_coroutine.cpp test violates C++ Standard
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-28 19:42:43
#10978: libs/coroutine/test_asymmetric_coroutine.cpp test violates C++ Standard
------------------------------+--------------------------------
Reporter: sergey.sprogis@⦠| Owner: grafik
Type: Bugs | Status: new
Milestone: To Be Determined | Component: Regression Testing
Version: Boost 1.57.0 | Severity: Problem
Keywords: |
------------------------------+--------------------------------
1. Description of the failure.
On Solaris 11.2 Oracle Studio 12.4 C++ compiler produces the following
error message for libs/coroutine/test/test_asymmetric_coroutine.cpp
source.
"test_asymmetric_coroutine.cpp", line 66: Error: "}" expected instead of
";".
and actually it produces similar error message for small test like this:
class moveable
{
private: ;
}
2. Cause of the failure.
This test violates C++ Standard
==================
Chapter 9, abbreviated syntax productions.
class-specifier:
class-head { member-specfication[opt] }
member-specification:
member-declaration member-specification[opt]
member-declaration:
decl-specifier-seq[opt] member-declarator-list[opt] ;
====================
The syntax for member-declaration appears to allow a lone semi-colon,
except for this requirement
in Section 9.2p1:
"... member-declarations declare members of the class, and each such
member-declaration shall declare
at least one member name of the class."
3. Possible Solution.
- Remove the semicolon from line:
BOOST_MOVABLE_BUT_NOT_COPYABLE( moveable);
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10978> 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:17 UTC