[Boost-bugs] [Boost C++ Libraries] #2258: Test annotation problems

Subject: [Boost-bugs] [Boost C++ Libraries] #2258: Test annotation problems
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-08-25 21:50:04


#2258: Test annotation problems
--------------------------+-------------------------------------------------
 Reporter: dave | Owner: t_schwinger
     Type: Bugs | Status: new
Milestone: Boost 1.37.0 | Component: function_types
  Version: Boost 1.36.0 | Severity: Problem
 Keywords: |
--------------------------+-------------------------------------------------
 With x86 linux gcc-4.0.1, I get this for the member_ccs test:

   member_ccs.cpp:17:5: error: #error "test not supported with this
 compiler/platform"

 and the test is annotated thusly:

   Not all compilers/platforms implement nonstandard calling conventions.

   With GCC/x86 this failure reflects
   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29328 .

 But the nonme the nonmember_ccs test *also* fails with the same error,
 and this annotation:

   Not all compilers/platforms implement nonstandard calling conventions.

 i.e. there is no reference to a GCC bug.

 Points:

  * The error message for member_ccs is inconsistent with the note about
 the
   gcc bug.

  * The function types library documentation barely mentions "calling
   conventions" and doesn't explain what "nonstandard" means in this
   context. For example, does extern "C" count?

  * Since I am running x86/GCC, the note about the GCC bug much more
   specific than the other part of the note, so I assumed that it
   applied. That would mean that my platform implements a nonstandard
   calling convention, but a compiler bug is causing the test to fail.

  * However, that interpretation would be inconsistent with the annotation
   for nonmember_ccs.

  * I suspect that my platform does not support nonstandard calling
   convention, and the bug only applies on platforms where GCC supports
   nonstandard calling conventions (e.g. Windows), and does not apply to
   me. If so, the annotation should be more specific about the platforms
   on which the note applies.

  * The error message should be better, e.g.: "this platform does not
   support nonstandard calling conventions; the test is irrelevant here"

  * A test that always succeeds when the platform doesn't support
   nonstandard calling conventions would yield far more reliable results
   than the overly general wildcard matching of failure annotations you
   have now, which makes a failure on any platform look as though it were
   expected in the testing chart.

-- 
Ticket URL: <http://svn.boost.org/trac/boost/ticket/2258>
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:49:58 UTC