Opened 14 years ago

Last modified 14 years ago

#2258 new Bugs

Test annotation problems — at Initial Version

Reported by: Dave Abrahams Owned by: t_schwinger
Milestone: Boost 1.37.0 Component: function_types
Version: Boost 1.36.0 Severity: Problem
Keywords: Cc:

Description

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.

Change History (0)

Note: See TracTickets for help on using tickets.