I'm getting the following compile error on Linux systems:
gcc -c -I/work/stdcxx/branches/4.3.x/include/ansi -D_RWSTDDEBUG
-pthread -I/work/stdcxx/branches/4.3.x/include
-I/build/stdcxx-4.3.x-15D/include
-I/work/stdcxx/branches/4.3.x/tests/include -std=gnu++0x
-D_RWSTD_EXT_CXX_0X -W -Wall -Wcast-qual -Winline -Wshadow
-Wwrite-strings -Wno-long-long -Wcast-align
/work/stdcxx/branches/4.3.x/tests/utilities/20.meta.help.cpp
In file included from
/work/stdcxx/branches/4.3.x/include/rw/_meta_sign.h:34,
from
/work/stdcxx/branches/4.3.x/include/type_traits:46,
from
/work/stdcxx/branches/4.3.x/tests/utilities/20.meta.help.cpp:35:
/work/stdcxx/branches/4.3.x/include/rw/_meta_other.h:94: error: expected
nested-name-specifier before '__rw_aligned_union'
/work/stdcxx/branches/4.3.x/include/rw/_meta_other.h:94: error: expected
';' before '<' token
make: *** [20.meta.help.o] Error 1
Here's the offending code:
92 union {
93 unsigned char __pad [_Len];
94 typename __rw_aligned_union<_Len, Types...>::_C_type
__align;
95 } _C_type;
I'm guessing that is supposed to be a recursive instantiation of
__rw_aligned_union_impl? __rw_aligned_union isn't even seen by the
compiler until after this specialization.
Brad.