One comment on the design of the tests: template instantiation
is very expensive both in terms of compiler cycles and in terms
of disk space taken up by the generated object code. We need to
avoid instantiating more than the bare minimum of code. So for
example, in tests/utilities/20.meta.help.cpp,
test_integral_constant() would ideally be an ordinary function
with the expected and tested values being passed in by the macro.
Also, if there's a way to avoid using function templates (such
as test_is_same_type) and use class templates instead it should
save us some cycles (especially with optimization) and disk
space.

As an aside, tests don't need to use the _STD macro. The test
config header testdefs.h does the necessary magic to let us use
the name std directly even when _RWSTD_NO_NAMESPACE is #defined.

Martin

Travis Vitek wrote:
I've posted what I've got for the current type_traits implementation to
STDCXX-916. I would have just mailed the file to the list directly, but
it is pretty big.

    http://issues.apache.org/jira/browse/STDCXX-916

The tests do compile and run on VC8. There are still a few failures. I'm
in the process of porting this to linux/gcc4.3 and I'm expecting the
results to be a bit better there because all of the necessary compiler
support is available.

Please review the code and provide feedback. It would be most helpful if
any comments are pasted along with the block of code in question.

Also, please don't focus on formatting to much. I know that I have a few
lines that run over 76 characters wide and that I've left out some
spaces after commas and before open parens. I'll deal with that stuff on
my own.

Note that some of the tests have type names that end in underscores.
I'll be changing these to end in _t. It makes things more readable.

Travis

Reply via email to