incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Black <abl...@roguewave.com>
Subject Re: r. 380238 broken
Date Thu, 23 Feb 2006 22:11:36 GMT
I was trying a build on NetBSD 3.0, and I believe I encountered a 
similar problem
In addition to an error similar to the one Liviu got, I'm also seeing 
what looks on first glance to be a broken guard.

gmake[2]: Entering directory `/tmp/ablackrw/stdcxx-11d/lib'
gcc -c -I/house/ablackrw/stdcxx/include/ansi -D_RWSTDDEBUG    
-D_RWSTD_USE_CONFIG -I/tmp/ablackrw/stdcxx-11d/include 
-I/house/ablackrw/stdcxx/include  -pedantic -nostdinc++ -g  -W -Wall 
-Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long 
-Wcast-align  -fPIC /house/ablackrw/stdcxx/src/assert.cpp
gcc -c -I/house/ablackrw/stdcxx/include/ansi -D_RWSTDDEBUG    
-D_RWSTD_USE_CONFIG -I/tmp/ablackrw/stdcxx-11d/include 
-I/house/ablackrw/stdcxx/include  -pedantic -nostdinc++ -g  -W -Wall 
-Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long 
-Wcast-align  -fPIC /house/ablackrw/stdcxx/src/atomic-cxx.S
gcc -c -I/house/ablackrw/stdcxx/include/ansi -D_RWSTDDEBUG    
-D_RWSTD_USE_CONFIG -I/tmp/ablackrw/stdcxx-11d/include 
-I/house/ablackrw/stdcxx/include  -pedantic -nostdinc++ -g  -W -Wall 
-Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long 
-Wcast-align  -fPIC /house/ablackrw/stdcxx/src/bitset.cpp
In file included from /house/ablackrw/stdcxx/include/rw/_mbstate.h:184,
                 from /house/ablackrw/stdcxx/include/rw/_traits.h:33,
                 from /house/ablackrw/stdcxx/include/rw/_strref.h:41,
                 from /house/ablackrw/stdcxx/include/string:36,
                 from /house/ablackrw/stdcxx/include/bitset:27,
                 from /house/ablackrw/stdcxx/src/bitset.cpp:24:
/house/ablackrw/stdcxx/include/ansi/cwchar: In function `wchar_t*
   wmemchr(wchar_t*, wchar_t, unsigned int)':
/house/ablackrw/stdcxx/include/ansi/cwchar:1090: error: declaration of C
   function `wchar_t* wmemchr(wchar_t*, wchar_t, unsigned int)' 
conflicts with
/usr/include/wchar.h:129: error: previous declaration `wchar_t* 
wmemchr(const
   wchar_t*, wchar_t, unsigned int)' here
In file included from /house/ablackrw/stdcxx/include/bitset:27,
                 from /house/ablackrw/stdcxx/src/bitset.cpp:24:
/house/ablackrw/stdcxx/include/string:1537:45: operator '!' has no right 
operand
/house/ablackrw/stdcxx/include/string:1545:48: operator '!' has no right 
operand
gmake[2]: *** [bitset.o] Error 1
gmake[2]: Leaving directory `/tmp/ablackrw/stdcxx-11d/lib'
gmake[1]: *** [lib] Error 2
gmake[1]: Leaving directory `/tmp/ablackrw/stdcxx-11d'
gmake: *** [libstd] Error 2


Liviu Nicoara wrote:

>Revision 380238 seems to be broken at least on Linux. I believe the
>intention in rw/_defs.h conditionals was to test for the definition of
>the macros in the diff below since stdcxx does not define config macros
>to values (0/1) as a matter of policy.
>
>I changed all instances where the conditional tests for the macro value
>and it builds:
>
>$ svn diff
>Index: include/rw/_defs.h
>===================================================================
>--- include/rw/_defs.h  (revision 380233)
>+++ include/rw/_defs.h  (working copy)
>@@ -1310,10 +1310,10 @@
>     && !defined (_RWSTD_NO_EXPLICIT_INSTANTIATION)   \
>     && !defined (_RWSTD_NO_INSTANTIATE)
>
>-#  define _RWSTD_INSTANTIATE(name, type)   \
>-       (   _RWSTD_INSTANTIATE ## name      \
>-        && _RWSTD_INSTANTIATE ## type      \
>-        && !_RWSTD_NO ## type)
>+#  define _RWSTD_INSTANTIATE(name, type)                \
>+       (    defined (_RWSTD_INSTANTIATE ## name)        \
>+        &&  defined (_RWSTD_INSTANTIATE ## type)        \
>+        && !defined (_RWSTD_NO ## type))
>
> #  define _RWSTD_INSTANTIATE_1(arg)          template arg
> #  define _RWSTD_INSTANTIATE_2(a1, a2)       template a1, a2
>@@ -1336,7 +1336,7 @@
>    //         'extern' before template explicit instantiation
> #  pragma warning (disable: 4231)
>
>-#  define _RWSTD_INSTANTIATE(ign1, type)   (!_RWSTD_NO ## type)
>+#  define _RWSTD_INSTANTIATE(ign1, type)   (!defined (_RWSTD_NO ## type))
>
> #  define _RWSTD_INSTANTIATE_1(arg)        extern template arg
> #  define _RWSTD_INSTANTIATE_2(a1, a2)     extern template a1, a2
>@@ -1345,7 +1345,7 @@
>    // use the extern template extension to declare template
>    // specializations that are explicitly instantiated in
>    // source (.cpp) files
>-#  define _RWSTD_INSTANTIATE(ign1, type)   (!_RWSTD_NO ## type)
>+#  define _RWSTD_INSTANTIATE(ign1, type)   (!defined (_RWSTD_NO ## type))
> #  define _RWSTD_INSTANTIATE_1(arg)        extern template arg
> #  define _RWSTD_INSTANTIATE_2(a1, a2)     extern template a1, a2
> #  define _RWSTD_INSTANTIATE_3(a1, a2, a3) extern template a1, a2, a3
>  
>


Mime
View raw message