incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r667365 [1/3] - in /stdcxx/branches/4.3.x: etc/config/src/ include/ include/rw/ tests/utilities/
Date Fri, 13 Jun 2008 12:15:30 GMT
vitek@apache.org wrote:
> Author: vitek
> Date: Thu Jun 12 22:53:51 2008
> New Revision: 667365

I understand that this is work in progress so just to help
make progress here are a few comments on some small issues
with this change:

Some files are missing the required terminating newline (they
are noted in the svn change notification).

Also, some of the #include guards are inconsistent with the
names of the headers they guard after their renaming. The
guards need to be reviewed and bring into harmony with the
names (we night want to write a simple shell script to help
with this process).

Finally, I'm not sure the patch is consistent WRT the use
of the type and value (vs. _C_type and _C_value) typedefs.
I hope we can agree on using of the public names throughout.

> 
> URL: http://svn.apache.org/viewvc?rev=667365&view=rev
> Log:
> 2008-06-12  Travis Vitek  <vitek@roguewave.com>
> 
> 	STDCXX-916
> 	* include/type_traits: New file defines C++0x type traits.
> 	* include/rw/_config-gcc.h: Add macros for compiler support.

The macro names should be listed here so we can find them in
ChangeLogs. I was also hoping we were in agreement on removing
the _TT_ part from the macro names.

> 	* include/rw/_config-msvc.h: Ditto.
> 	* include/rw/_config.h [_RWSTD_EXT_CXX_OX]: Disable C++0x
> 	extensions unless defined.
> 	* include/rw/_defs.h [_RWSTD_SWCHAR_INT_T]: Add new macro that
> 	defines a type that has same size and layout a the fictional
> 	signed wchar_t.

What do we need _RWSTD_SWCHAR_INT_T for?

[...searching...]

I see: for make_signed. Are you sure the traits are correct for
char and wchar_t? Also, do you believe the working draft to be
unambiguous and correct? Based on my reading, make_signed<T>
::type should be the same as T if T is a signed integral type.
IIUC, our make_signed<char>::type is defined to signed char
regardless of the signed-ness of char. Ditto for wchar_t.

Also, I assume the big block of #ifdef'ed out code with the
_RWSTD_TT_XXX() macro definitions was meant to be deleted?

Finally, the (unsafe) change to _RWSTD_UWCHAR_INT_T isn't
mentioned here. It should be reverted (and _RWSTD_SWCHAR_INT_T
should be changed to something like _RWSTD_PTRDIFF_T or maybe
_RWSTD_SSIZE_T.

Martin

Mime
View raw message