2008-08-01 Travis Vitek <vitek@roguewave.com>
Merge r671285, r671294, r671306, r671612, r671972, r672048, r672395,
r672596, r672948, r673227, r673490, r673495, r673534, r673851, r673865,
r675044, r675316, r675344, r675390, r675429, r675434, r675458, r675803,
r675809, r675829, r676788, r677418, r677464, r677465, r677985, r678247,
r678475, r678894, r678901, r678907, r678913, r678931, r680574, r681567
from branches/4.3.x:
2008-06-24 Travis Vitek <vitek@roguewave.com>
STDCXX-916
* include/rw/_meta_arr.h (_RWSTD_REMOVE_EXTENT)
(_RWSTD_REMOVE_ALL_EXTENTS): Add macros for type traits.
* include/rw/_meta_cat.h (_RWSTD_IS_VOID, _RWSTD_IS_INTEGRAL)
(_RWSTD_IS_FLOATING_POINT, _RWSTD_IS_ARRAY, _RWSTD_IS_UNION)
(_RWSTD_IS_LVALUE_REFERENCE, _RWSTD_IS_RVALUE_REFERENCE)
(_RWSTD_IS_CLASS, _RWSTD_IS_FUNCTION, _RWSTD_IS_MEMBER_OBJECT_PTR)
(_RWSTD_IS_MEMBER_OBJECT_PTR): Ditto.
* include/rw/_meta_comp.h (_RWSTD_IS_REFERENCE, _RWSTD_IS_OBJECT)
(_RWSTD_IS_ARITHMETIC, _RWSTD_IS_FUNDAMENTAL, _RWSTD_IS_SCALAR)
(_RWSTD_IS_MEMBER_POINTER, _RWSTD_IS_COMPOUND): Ditto.
* include/rw/_meta_cv.h (_RWSTD_REMOVE_CONST, _RWSTD_REMOVE_CV)
(_RWSTD_REMOVE_VOLATILE, _RWSTD_ADD_CONST, _RWSTD_ADD_VOLATILE)
(_RWSTD_ADD_CV): Ditto.
* include/rw/_meta_prop.h (_RWSTD_IS_CONST, _RWSTD_IS_VOLATILE)
(_RWSTD_IS_STANDARD_LAYOUT, _RWSTD_IS_POD, _RWSTD_IS_ABSTRACT)
(_RWSTD_IS_POLYMORPHIC, _RWSTD_IS_EMPTY, _RWSTD_HAS_TRIVIAL_CTOR)
(_RWSTD_HAS_TRIVIAL_COPY, _RWSTD_HAS_TRIVIAL_ASSIGN)
(_RWSTD_HAS_TRIVIAL_DTOR, _RWSTD_IS_TRIVIAL, _RWSTD_RANK)
(_RWSTD_HAS_NOTHROW_CTOR, _RWSTD_HAS_NOTHROW_COPY)
(_RWSTD_HAS_NOTHROW_ASSIGN, _RWSTD_HAS_VIRTUAL_DTOR)
(_RWSTD_IS_SIGNED, _RWSTD_IS_UNSIGNED, _RWSTD_EXTENT_1)
(_RWSTD_EXTENT_2): Ditto.
* include/rw/_meta_ptr.h (_RWSTD_REMOVE_POINTER)
(_RWSTD_ADD_POINTER): Ditto.
* include/rw/_meta_ref.h (_RWSTD_ADD_RVALUE_REFERENCE)
(_RWSTD_ADD_LVALUE_REFERENCE, _RWSTD_REMOVE_REFERENCE): Ditto.
* include/rw/_meta_rel.h (_RWSTD_IS_SAME, _RWSTD_IS_BASE_OF)
(_RWSTD_IS_CONVERTIBLE): Ditto.
* include/rw/_meta_sign.h (_RWSTD_MAKE_SIGNED)
(_RWSTD_MAKE_UNSIGNED): Ditto.
2008-06-24 Travis Vitek <vitek@roguewave.com>
STDCXX-916
* include/type_traits: Remove doxygen comments, leaving C++
comments where appropriate.
* include/rw/_meta_arr.h: Ditto.
* include/rw/_meta_cat.h: Ditto.
* include/rw/_meta_comp.h: Ditto.
* include/rw/_meta_cv.h: Ditto.
* include/rw/_meta_other.h: Ditto.
* include/rw/_meta_prop.h: Ditto.
* include/rw/_meta_ptr.h: Ditto.
* include/rw/_meta_ref.h: Ditto.
* include/rw/_meta_rel.h: Ditto.
* include/rw/_meta_sign.h: Ditto.
(_RWSTD_SHRT_SIZE): Fix spelling error.
2008-06-24 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/tuple: Removed comments containing public API
documentation in the interests implementing C++0x features as
quickly as possible by saving time writing further documentation
and dealing with documentation-related issues in the foreseeable
future.
* include/rw/_tuple.h: Likewise.
* include/rw/_tuple_traits.h: Likewise.
* include/rw/_forward.h: Likewise.
* include/rw/_ref_wrap.h: Likewise.
* doc/Doxyfile: Not needed for now.
2008-06-25 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/rw/_meta_help.h (_RWSTD_BOOL_CONST): Add convenience
macro for boolean constants.
2008-06-26 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* tests/intro/17.names.cpp: C++0x `reference_wrapper' class
template requires `type' member so replace `type' name with
`!ERROR!' only when not building with C++0x extensions.
2008-06-27 Travis Vitek <vitek@roguewave.com>
* tests/utilities/20.forward.cpp [_RWSTD_NO_EXT_CXX_0X]: Add
guard to get test to compile and run when extension is not
explicitly enabled. Include rw/_defs.h explicitly before using
configuration macro to follow include policy.
* tests/utilities/20.tuple.cnstr.cpp: Ditto.
* tests/utilities/20.tuple.elem.cpp: Ditto.
* tests/utilities/20.tuple.helpers.cpp: Ditto.
* tests/utilities/20.meta.help.cpp: include rw/_defs.h explicitly
in case rw_driver.h does not.
* tests/utilities/20.meta.rel.cpp: Ditto.
* tests/utilities/20.meta.trans.arr.cpp: Ditto.
* tests/utilities/20.meta.trans.cv.cpp: Ditto.
* tests/utilities/20.meta.trans.ptr.cpp: Ditto.
* tests/utilities/20.meta.trans.ref.cpp: Ditto.
* tests/utilities/20.meta.unary.comp.cpp: Ditto.
* tests/utilities/20.meta.trans.other.cpp: Ditto. Move includes
inside _RWSTD_NO_EXT_CXX_0X block.
* tests/utilities/20.meta.trans.sign.cpp: Ditto.
* tests/utilities/20.meta.unary.cat.cpp: Ditto.
* tests/utilities/20.meta.unary.prop.cpp: Ditto.
2008-06-27 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/rw/_ref_wrap.h: Convert internal namespace members to
standard namespace members (at least until such a time when
internal namespace members are actually needed).
(reference_wrapper): Implemented basic constructors, operators,
and accessors. (No specializations, function inheritance,
result_of, or invocation operators yet.)
(ref, cref): Also implemented.
* include/functional: Include <rw/_ref_wrap.h> header.
(Internal header contains C++0x guards so it only gets compiled
for C++0X code.)
2008-06-28 Martin Sebor <sebor@roguewave.com>
* tests/utilities/20.meta.unary.prop.cpp (cfun_t, incomplete_t): New
types used for testing.
(test_is_const, test_is_volatile): Exercised incomplete_t, arrays
with unknown bounds, functions with C++ and C language linkage,
and pointers to member functions.
(test_is_trivial): Exercised void.
2008-06-30 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/rw/_forward.h: Add additional macro functions for
consistency. Use consistent comment format for standard section
references. Utilize type trait macro. Other minor changes in
copyright notice.
* include/rw/_ref_wrap.h: Add standard section reference comment.
Remove explicit template parameter names within class template.
Add _RWSTD_ASSERT() statements where appropriate. Replaced
template parameter name with public typedef name inside class
template.
* include/rw/_tuple_traits.h: Removed. Incorporated directly
into <tuple> header.
* include/rw/_tuple.h: Added internal tuple class template and
make_tuple helpers. Utilize _RWSTD_FORWARD() function macro.
* include/tuple: Minor changes in header comment. Moved internal
members to <rw/_tuple.h> header. Include <rw/_forward.h> and
utilize _RWSTD_FORWARD() and _RWSTD_MOVE macro functions.
Inherit class template `std::tuple' from internal `__rw_tuple'
class template. Reworked pair specialization to also inherit
from internal tuple. Add `_BaseU' macro definition for use in
_RWSTD_STATIC_CAST where type contains commas (which won't work
in static_cast when expanded).
(tuple_element): Updated get helpers in std::tuple_element class
template with internal type trait macros.
(get): Fixed.
(make_tuple(), operator==, operator<): Implemented.
* tests/utilities/20.tuple.cnstr.cpp: Updated previously broken
tests.
* tests/utilities/20.tuple.helpers.cpp: Minor changes (copyright
notice).
* tests/utilities/20.tuple.h: Same.
* tests/utilities/20.tuple.creation.cpp: Added new test program
for tuple creation helpers.
* tests/utilities/20.tuple.rel.cpp: Added (outline of) new test
program
* tests/utilities/20.tuple.elem.cpp: Added more const/mutable
tests.
2008-07-01 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/tuple: Uncomment ctors that were temporarily commented
out (and accidently checked in) due to forward/move semantics
problem in make_tuple() with reference wrappers.
* include/rw/_forward.h: Remove unnecessary _EXPORT macro.
Define functions as inline. Change `std' namespace to `_STD' in
definition of _RWSTD_MOVE function macro.
* include/rw/_tuple.h: Fix forward/move semantics for homogenous
move ctor.
* tests/utilities/20.tuple.h: Add tuple with reference type.
* tests/utilities/20.tuple.cnstr.cpp: Added tests for tuples
with reference types. Added more tests for value move ctors.
* tests/utilities/20.tuple.creation.cpp: Added two small tests
for make_tuple() with reference wrappers.
2008-07-02 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/tuple: Include internal type traits headers
individually.
* include/utility: Conditionally include C++0x header if
corresponding macro is defined (and C++0x extension is enabled).
* include/functional: Likewise.
* include/rw/_meta_other.h: Include other necessary headers.
* include/rw/_forward.h: Remove guards for C++0x extension.
Reindent preprocessing directives appropriately.
* include/rw/_ref_wrap.h: Likewise.
* include/rw/_tuple.h: Likewise. Also forward declare reference
wrapper class rather than including header. Use _STD macro to
qualify move() function.
Incorporates some initial code review comments:
http://www.nabble.com/Re%3A-Tuple-status-p18230401.html
2008-07-02 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-948
* include/functional: Oops. Used wrong name for C++0x macro
guard. Fixed.
* include/utility: Likewise.
2008-07-02 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/tuple: Use `_TypeT' and `_TypesT' template parameter
names. Add comment clarifying necessary static casts. Use
_RWSTD_SIZE_T type for index of tuple elements per LWG issue
#755.
* include/rw/_forward.h: More template parameter renaming.
* include/rw/_ref_wrap.h: Likewise.
* include/rw/_tuple.h: Likewise.
Incorporates more initial code review comments:
http://www.nabble.com/Re%3A-Tuple-status-p18230401.html
2008-07-03 Travis Vitek <vitek@roguewave.com>
* include/functional [_RWSTD_NO_EXT_CXX_0X]: Move <rw/_ref_wrap.h>
include into conditional block to avoid problems compiling test
17.names.cpp
2008-07-03 Travis Vitek <vitek@roguewave.com>
* tests/utilities/20.tuple.cnstr.cpp [_RWSTD_NO_RVALUE_REFERENCES]:
Disable body of test if _RWSTD_NO_EXT_CXX_0X is not defined but tuples
are unavailable due to insufficient compiler support.
(run_test) [_RWSTD_NO_RVALUE_REFERENCES, _RWSTD_NO_EXT_CXX_0X]: Display
descriptive warning explaining why test is disabled.
* tests/utilities/20.tuple.helpers.cpp: Ditto.
* tests/utilities/20.tuple.creation.cpp: Ditto.
* tests/utilities/20.tuple.elem.cpp: Ditto.
* tests/utilities/20.tuple.rel.cpp: Ditto.
* tests/utilities/20.forward.cpp (run_test): Run test_identity() even
when rvalue references are not supported. Display descriptive warning
explaining why parts of test are disabled.
2008-07-08 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/tuple: Second parameter in value move ctor of pair
specialization missing rvalue reference.
(make_tuple, get, relational operators): Explicitly declare
as inline functions.
(tie): Implemented.
* include/rw/_tuple.h: Fix move semantics in heterogenous move
assignment operator.
(__rw_ignore): Add assignment operator to ignore all values.
* tests/utilities/20.tuple.cnstr.cpp: Added V&V for tuple
state and invariants. Manually inspected proper construction
of all test tuples. Updated/corrected/added tests as necessary.
* tests/utilities/20.tuple.creation.cpp: Added simple tie()
test.
* tests/utilities/20.tuple.h: Minor stylistic changes.
* tests/utilities/20.tuple.helpers.cpp: Same.
2008-07-09 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* tests/utilities/20.tuple.cnstr.cpp (verify_tuple): Fixed
assertions from float/double conversions.
* tests/tr1.util, tests/tr1.c99: Removed unused directories.
2008-07-09 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/rw/_tuple.h (__rw_ignore::operator=): Simplify
defininition of operator.
2008-07-09 Martin Sebor <sebor@roguewave.com>
* include/rw/_select.h (__rw_same_type): Renamed from __rw_is_same
to avoid conflicts with <rw/_meta_rel.h>.
* include/rw/_ioinsert.h (__rw_insert): Used __rw_same_type rather
than __rw_is_same.
2008-07-09 Martin Sebor <sebor@roguewave.com>
* include/queue (typename): Replaced uses of the _TYPENAME macro
with the now universally supported C++ keyword.
* include/fstream: Same.
* include/set: Same.
* include/list: Same.
* include/bitset.cc: Same.
* include/string: Same.
* include/streambuf.cc: Same.
* include/ostream.cc: Same.
* include/map: Same.
* include/valarray: Same.
* include/streambuf: Same.
* include/loc/_money_put.cc: Same.
* include/loc/_messages.cc: Same.
* include/loc/_num_put.cc: Same.
* include/loc/_ctype.cc: Same.
* include/loc/_numpunct.h: Same.
* include/loc/_time_get.cc: Same.
* include/loc/_money_get.cc: Same.
* include/loc/_num_get.cc: Same.
* include/loc/_time_put.cc: Same.
* include/algorithm.cc: Same.
* include/ostream: Same.
* include/functional: Same.
* include/vector.cc: Same.
* include/type_traits: Same.
* include/fstream.cc: Same.
* include/istream.cc: Same.
* include/deque.cc: Same.
* include/stack: Same.
* include/string.cc: Same.
* include/list.cc: Same.
* include/istream: Same.
* include/vector: Same.
* include/deque: Same.
* include/bitset: Same.
* include/algorithm: Same.
* include/sstream: Same.
* include/array: Same.
* include/rw/_defs.h: Same.
* include/rw/_tree.cc: Same.
* include/rw/_iterbase.h: Same.
* include/rw/_select.h: Same.
* include/rw/_tuple.h: Same.
* include/rw/_iterator.h: Same.
* include/rw/_basic_ios.h: Same.
* include/rw/_specialized.h: Same.
* include/rw/_ioinsert.cc: Same.
* include/rw/_tree.h: Same.
* include/rw/_stringio.cc: Same.
* include/rw/_strref.h: Same.
* include/rw/_streamiter.h: Same.
* include/rw/_forward.h: Same.
* include/rw/_autoptr.h: Same.
* include/rw/_smartptr.h: Same.
* include/rw/_funcbase.h: Same.
* include/rw/_typetraits.h: Same.
* include/rw/_allocator.h: Same.
* include/rw/_ioiter.h: Same.
* include/rw/_algobase.h: Same.
* include/sstream.cc: Same.
* include/tuple: Same.
* src/collate.cpp: Same.
* examples/include/examples.h: Same.
* tests/containers/23.bitset.cpp: Same.
* tests/utilities/20.meta.help.cpp: Same.
* tests/utilities/20.auto.ptr.cpp: Same.
* tests/utilities/20.meta.trans.other.cpp: Same.
* tests/include/rw_testdefs.h: Same.
* include/rw/_defs.h (_TYPENAME): Removed macro #definition.
* include/vector [!_RWSTD_NO_TYPENAME] (typename): Removed macro
#definition.
* examples/include/examples.h: Same.
* tests/include/rw_testdefs.h: Same.
* etc/config/src/DEPENDENT_TEMPLATE.cpp: Same.
* etc/config/src/NONDEDUCED_CONTEXT.cpp: Same.
* etc/config/src/STATIC_CONST_MEMBER_EXPR_CONST.cpp: Same.
* etc/config/src/TYPENAME.cpp: Deleted.
* README (_TYPENAME): Same.
2008-07-09 Martin Sebor <sebor@roguewave.com>
* include/tuple (explicit): Replaced uses of the _EXPLICIT macro
with the universally supported C++ keyword.
* include/iomanip: Same.
* include/loc/_locale.h: Same.
* include/loc/_moneypunct.h: Same.
* include/loc/_messages.h: Same.
* include/loc/_numpunct.h: Same.
* include/loc/_facet.h: Same.
* include/loc/_collate.h: Same.
* include/loc/_money_get.h: Same.
* include/loc/_time_get.h: Same.
* include/loc/_num_get.h: Same.
* include/loc/_money_put.h: Same.
* include/loc/_ctype.h: Same.
* include/loc/_time_put.h: Same.
* include/loc/_num_put.h: Same.
* include/loc/_codecvt.h: Same.
* include/map: Same.
* include/rw/_basic_ios.h: Same.
* include/rw/_iosfailure.h: Same.
* include/rw/_iterator.h: Same.
* include/rw/_smartptr.h: Same.
* include/rw/_rawiter.h: Same.
* include/rw/_tuple.h: Same.
* include/rw/_autoptr.h: Same.
* include/rw/_exception.h: Same.
* include/bitset: Same.
* include/set: Same.
* include/functional: Same.
* include/istream: Same.
* include/stack: Same.
* include/string: Same.
* include/complex: Same.
* include/ostream: Same.
* include/sstream: Same.
* include/valarray: Same.
* include/vector: Same.
* include/stdexcept: Same.
* include/deque: Same.
* include/list: Same.
* include/strstream: Same.
* include/queue: Same.
* include/fstream: Same.
* src/podarray.h: Same.
* tests/localization/22.locale.synopsis.cpp: Same.
* tests/containers/23.deque.modifiers.cpp: Same.
* tests/containers/23.bitset.cpp: Same.
* tests/diagnostics/19.std.exceptions.cpp: Same.
* tests/utilities/20.function.objects.cpp: Same.
* etc/config/src/EXPLICIT.cpp: Deleted test.
* include/rw/_defs.h (_EXPLICIT): Removed macro #definition.
* tests/containers/23.deque.modifiers.cpp (_RWSTD_NO_EXPLICIT):
Removed conditional.
* tests/containers/23.bitset.cpp: Same.
* tests/utilities/20.function.objects.cpp: Same.
2008-07-09 Travis Vitek <vitek@roguewave.com>
STDCXX-916
* include/rw/_meta_help.h: Remove doxygen tags from comments.
* include/rw/_meta_prop.h: Reduce lines to 76 characters or
less where necessary.
[_MSC_VER]: Simplify workaround for broken __is_pod() and
__is_empty().
[!_RWSTD_TT_IS_STANDARD_LAYOUT]: Change fallback for the
__rw_is_standard_layout<> trait to be more reliable.
[!_RWSTD_TT_IS_EMPTY]: Change fallback for __rw_is_empty<>
trait to be more reliable.
[!_RWSTD_TT_IS_POLYMORPHIC]: Add fallback to detect polymorphic
class types when compiler support is not available.
[!_RWSTD_TT_IS_ABSTRACT]: Add fallback to detect abstract
class types when compiler support is not available.
[!_RWSTD_TT_HAS_TRIVIAL_CTOR]: Add fallback to detect types
that have a trivial constructor when compiler support is not
available.
[!_RWSTD_TT_HAS_TRIVIAL_COPY]: Add fallback to detect types
that have a trivial copy constructor when compiler support is
not available.
[!_RWSTD_TT_HAS_TRIVIAL_ASSIGN]: Add fallback to detect types
that have a trivial assignment operator when compiler support
is not available.
[!_RWSTD_TT_HAS_TRIVIAL_DTOR]: Add fallback to detect types
that have a trivial destructor when compiler support is not
available.
[!_RWSTD_TT_HAS_NOTHROW_CTOR]: Add fallback to detect types
that have a nothrow constructor when compiler support is not
available.
[!_RWSTD_TT_HAS_NOTHROW_COPY]: Add fallback to detect types
that have a nothrow copy constructor when compiler support is
not available.
[!_RWSTD_TT_HAS_NOTHROW_ASSIGN]: Add fallback to detect types
that have a nothrow assignment operator when compiler support
is not available.
[!_RWSTD_TT_HAS_VIRTUAL_DTOR]: Add fallback to detect types
that have a virtual destructor when compiler support is not
available. Currently tests that the type is polymorphic, which
may not be entirely accurate.
* include/rw/_meta_other.h [__GNUG__]: Use simpler implementation for
__rw_aligned_storage<>. Reorder union members to make most strictly
aligned member first.
[_RWSTD_TT_MAX_ALIGNMENT]: Guard __rw_aligned_storage_impl<>
specializations to prevent their use when the requested alignment
is out of range.
* include/rw/_meta_comp.h: Reduce lines to 76 characters or less.
* include/rw/_meta_cat.h: Add __rw_is_class_or_union<> helper.
[!_RWSTD_TT_IS_CLASS]: Add fallback to detect class types, using
_RWSTD_TT_IS_UNION if available.
[!_RWSTD_TT_IS_UNION]: Add fallback to detect union types, using
_RWSTD_TT_IS_CLASS if available.
[!_RWSTD_TT_IS_ENUM]: Add fallback to detect enum types when compiler
support is not available.
[!_RWSTD_TT_IS_FUNCTION]: Fix fallback for __rw_is_function to avoid
compiler warnings on HP aCC 6.16.
* include/rw/_meta_ref.h: Reduce lines to 76 characters or less.
Remove use of _TYPENAME macro.
* include/rw/_meta_rel.h: Fix __rw_is_convertible_impl to avoid
warning on HP aCC 6.16. Reduce lines to 76 characters or less.
Remove use of _TYPENAME macro. Fix __rw_is_convertible_impl<> to
avoid compiler warnings on HP aCC 6.16.
[_RWSTD_TT_IS_CONVERTIBLE]: Guard header inclusion. Rename template
parameters to _From and _To for clarity.
[_RWSTD_TT_IS_BASE_OF]: Guard header inclusion. Change fallback for
__rw_is_base_of to be more reliable. Rename template parameters to
_Base and _Derived for clarity.
* include/rw/_config-gcc.h [__GNUG__]: Reduce lines to 76 characters
or less where necessary. Work around issue with gcc aligned attribute
so we can use it to define __rw_aligned_storage<>.
* include/rw/_config-acc.h [__HP_aCC]: Add macros _RWSTD_TT_ALIGN_OF,
_RWSTD_TT_MAX_ALIGNMENT, and _RWSTD_TT_ALIGNED_POD.
* include/rw/_config-msvc.h [_MSC_VER]: Remove comments about broken
__is_pod(). Reduce lines to 76 characters or less where necessary.
Provide accurate definition of _RWSTD_TT_MAX_ALIGNMENT.
* tests/utilities/20.meta.trans.other.cpp: Add include for stddef.h.
Use std::alignment_of<> instead of __alignof() for portability. Test
default alignment for various aligned storage sizes.
* tests/utilities/20.meta.rel.cpp (test_is_base_of): Fix test cases
that were failing due to parameter ordering.
2008-07-10 Martin Sebor <sebor@roguewave.com>
STDCXX-990
* include/rw/_defs.h [2 < __GNUG__](_RWSTD_VA_COPY): Unconditionally
defined to gcc's __builtin_va_copy() to avoid errors due to potential
configuration differences (e.g., after configuring in C++ 1998 mode
and compiling with the -std=c++0x option).
2008-07-10 Martin Sebor <sebor@roguewave.com>
* include/rw/_config-gcc.h [gcc >= 4.3 && __GXX_EXPERIMENTAL_CXX0X__]
(_RWSTD_NO_VARIADIC_TEMPLATES, _RWSTD_NO_RVALUE_REFERENCES): Undefined
to make it possible to use C++ 0x library extensions even in builds
configured w/o C++ 0x extensions enabled in the compiler.
(_RWSTD_EXT_CXX_0X): #defined in response to either of the -std=c++0x
or -std=gnu++0x options.
2008-07-14 Martin Sebor <sebor@roguewave.com>
* etc/config/src/INITIALIZER_LIST.cpp: New config test to determine
whether the C++ 0x class template std::initializer_list is supported.
2008-07-16 Travis Vitek <vitek@roguewave.com>
* tests/utilities/20.meta.unary.prop.cpp: Add empty throw spec to
help convince eccp-3.10 that functions won't throw.
2008-07-16 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* tests/include/20.tuple.h: Remove commented member function.
2008-07-16 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* tests/utilities/20.tuple.cnstr.cpp: Simplify random character
generation.
2008-07-18 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-958
* include/rw/_tuple.h (operator==): Minor formatting change.
(operator<): Fixed lexicographical comparison logic.
* tests/utilities/20.tuple.h: Remove global tuple typedefs and
unused output opeator<<.
* tests/utilities/20.tuple.cnstr.cpp: Replaced typedefs with
explicit tuple types. Added TUPLE macros where tuple types
containing commas are used as function macro arguments.
* tests/utilities/20.tuple.creation.cpp: Same.
* tests/utilities/20.tuple.elem.cpp: Same.
* tests/utilities/20.tuple.helpers.cpp: Same.
* tests/utilities/20.tuple.rel.cpp: Same. Also added more tests
(which uncovered broken `operator<') and concise TEST() function
macro wrapper.
2008-07-19 Martin Sebor <sebor@roguewave.com>
* tests/utilities/20.meta.unary.nothrow.cpp: New test exercising
just the has_nothrow_xxx traits (so far has_nothrow_copy_constructor
only).
2008-07-21 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-808
* tests/regress/27.streambuf.buffer.stdcxx-808.cpp: Add
regression test case that has failed in previous releases.
2008-07-22 Travis Vitek <vitek@roguewave.com>
STDCXX-1002
* include/rw/_meta_prop.h [__SUNPRO_CC]: Work around sunpro-5.9
detecting cv-qualifiers on array types.
2008-07-22 Travis Vitek <vitek@roguewave.com>
STDCXX-1001
* include/rw/_meta_arr.h [__IBMCPP__]: Conditionally compile out
definitions of traits that are partial specializations of unbound array
types to avoid issues on vacpp-9.0.
* include/rw/_meta_cat.h: Ditto.
* include/rw/_meta_prop.h: Ditto.
2008-07-22 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-808
* tests/regress/27.streambuf.buffer.stdcxx-808.cpp: Add file
header comment.
2008-07-22 Eric Lemings <eric.lemings@roguewave.com>
STDCXX-978
* README: Removed _RWSTD_NO_MEMBER_TEMPLATES section.
* etc/config/src/MEMBER_TEMPLATE_OVERLOAD.cpp: Removed config
test. (Assume required compiler support for member templates
in all subsequent releases.)
* etc/config/src/MEMBER_TEMPLATES.cpp: Same.
* etc/config/src/implicit_inclusion_imp.h: Removed #if
directives and code compiled when no member templates supported.
* etc/config/src/IMPLICIT_INCLUSION.cpp: Same.
* etc/config/src/extern_template_imp.h: Same.
* etc/config/src/EXTERN_MEMBER_TEMPLATE.cpp: Same.
* etc/config/src/extern_template_imp.cpp: Same.
* etc/config/src/implicit_inclusion_imp.cc: Same.
* include/bitest [_RWSTD_NO_MEMBER_TEMPLATES]: Removed #if
directives leaving code compiled when macro is not defined and
removing (unused) code that is compiled when macro is defined.
* include/complex: Same.
* include/deque: Same.
* include/deque.cc: Same.
* include/list: Same.
* include/list.cc: Same.
* include/set: Same.
* include/string: Same.
* include/string.cc: Same.
* include/vector: Same.
* include/vector.cc: Same.
* src/vecbool.cpp [_RWSTD_NO_MEMBER_TEMPLATES]: Removed
unused code compiled when no member templates supported.
* tests/utilities/20.auto.ptr.cpp [_RWSTD_NO_MEMBER_TEMPLATES]:
Removed #if directives. (Most code was already being compiled.
Two directives were not but the code appears harmless.)
* tests/containers/23.bitset.cpp: Same.
* tests/localization/22.locale.synopsis.cpp: Same.
* tests/strings/21.string.exceptions.cpp: Same.
* examples/include/stocks.h: Removed unused code.
2008-07-22 Travis Vitek <vitek@roguewave.com>
* include/type_traits [_RWSTD_NO_ALIGN_TRAITS]: Conditionally remove
traits that deal with alignment as there is a good chance they will
be removed from the draft.
* include/rw/_defs.h: Define _RWSTD_NO_ALIGN_TRAITS if one or more of
the alignment helper macros is not provided.
* include/rw/_meta_prop.h: Stop defining _TT_ macros in workarounds.
Add fallback for alignment_of<>. Temporarily remove msvc-8.0 workarounds.
* include/rw/_meta_other.h: Simplify implementation of aligned_storage
and aligned_union traits.
* include/rw/_config-acc.h: Update comment after guard macro.
* include/rw/_config-gcc.h: Remove _RWSTD_EXT_CXX_0X macro.
* include/rw/_config-eccp.h: Disable a few built-in traits.
* include/rw/_config.h: Remove _RWSTD_EXT_CXX_0X macro.
* tests/include/rw/rw_testdefs.h: Enable strict conformance testing for
next version of EDG C++ and G++.
* tests/utilities/20.meta.trans.other.cpp (test_aligned_storage):
Disable testing aligned_storage<> and aligned_union<> if compiler
support is unavailable or disabled.
* tests/utilities/20.meta.unary.nothrow.cpp (run_test): Move test body
to new function.
(test_has_nothrow_copy): Add new function. Conditionally disable tests
for types that require rvalue-references or variadic template support.
Conditionally disable test when compiler support is unavailable.
* tests/utilities/20.meta.unary.cat.cpp (test_trait): Fix assert to
display correct line number. Update warning message.
(test_is_union): Conditionally disable test when compiler support is
unavailable.
* tests/utilities/20.meta.unary.prop.cpp: Conditionally disable parts
of tests that require compiler support. Add assertsions to several of
the test_has_trivial_* and test_has_nothrow_* tests. Expect traits
has_trivial_assign, has_trivial_copy, has_nothrow_assign and
has_nothrow_copy to fail for array types.
(test_alignment_of): Add tests for alignment_of.
* tests/utilities/20.meta.unary.rel.cpp: Append a `t' to a few
internal test class names.
(test_is_base_of): Disable portion of test if required support
is not available.
2008-07-28 Travis Vitek <vitek@roguewave.com>
* tests/src/thread.cpp [__EDG__]: Disable error for use of long long
in pthreadtypes.h system header.
2008-07-31 Martin Sebor <sebor@roguewave.com>
* tests/src/thread.cpp [_RWSTD_POSIX_THREADS]: Simplified
preprocessor conditional logic introduced in rev 680574.
git-svn-id: https://svn.apache.org/repos/asf/stdcxx/trunk@681820 13f79535-47bb-0310-9956-ffa450edef68
152 files changed