c++.stlsoft - Compilation fails on Leopard, GCC 4.0.1
- mis232 (39/39) Jan 04 2008 [Posted this also on Pantheios Bugs tracker]
- Matthew Wilson (4/42) Jan 08 2008 This is now fixed, as of 1.9.17. Download from http://stlsoft.org/
[Posted this also on Pantheios Bugs tracker] g++-4.0 -c -Wall -pedantic -Wno-long-long -Wno-long-double -Wno-unused-val ue -Wno-unused-function -Werror -O1 -D_REENTRANT -D_DEBUG -UNDEBUG -Dun ix -DPANTHEIOS_NO_AUTO_INIT -I../../include -I"~/downloads/stlsoft-1.9.16/i nclude" -o core.api.debug.o ../../src/core/api.cpp ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp: In member function ‘virtual const char* stlsoft::unixstl_project::unix_exception::what() const’: ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp:165: error: ‘__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((const char*)"~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp"), 165u, ((const char*)"NULL != s"))’ has type ‘void’ and is not a throw-expression ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp: In static member function ‘static stlsoft::exception_string stlsoft::unixstl_project::unix_exception::create_reason_(const char*, int)’: ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp:209: error: ‘__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((const char*)"~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp"), 209u, ((const char*)"NULL != s"))’ has type ‘void’ and is not a throw-expression ~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp: In constructor ‘stlsoft::unixstl_project::thread_mutex::thread_mutex(pthread_mutex_t*, stlsoft::unixstl_project::us_bool_t)’: ~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp:154: error: ‘__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((const char*)"~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp"), 154u, ((const char*)"NULL != mx"))’ has type ‘void’ and is not a throw-expression Looks like __assert has changed to return void. Wrapping the __assert part of UNIXSTL_ASSERT with (..., 0) fixes it.
Jan 04 2008
This is now fixed, as of 1.9.17. Download from http://stlsoft.org/ "mis232" <mis232 mis232.com> wrote in message news:flm86g$vga$1 digitalmars.com...[Posted this also on Pantheios Bugs tracker] g++-4.0 -c -Wall -pedantic -Wno-long-long -Wno-long-double -Wno-unused-val ue -Wno-unused-function -Werror -O1 -D_REENTRANT -D_DEBUG -UNDEBUG -Dun ix -DPANTHEIOS_NO_AUTO_INIT -I../../include -I"~/downloads/stlsoft-1.9.16/i nclude" -o core.api.debug.o ../../src/core/api.cpp ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp: In member function 'virtual const char* stlsoft::unixstl_project::unix_exception::what() const': ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp:165: error: '__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((const char*)"~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp"), 165u, ((const char*)"NULL != s"))' has type 'void' and is not a throw-expression ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp: In static member function 'static stlsoft::exception_string stlsoft::unixstl_project::unix_exception::create_reason_(const char*, int)': ~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp:209: error: '__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((const char*)"~/downloads/stlsoft-1.9.16/include/unixstl/error/exceptions.hpp"), 209u, ((const char*)"NULL != s"))' has type 'void' and is not a throw-expression ~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp: In constructor 'stlsoft::unixstl_project::thread_mutex::thread_mutex(pthread_mutex_t*, stlsoft::unixstl_project::us_bool_t)': ~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp:154: error: '__eprintf(((const char*)"%s:%u: failed assertion `%s\'\012"), ((constchar*)"~/downloads/stlsoft-1.9.16/include/unixstl/synch/thread_mutex.hpp"),154u, ((const char*)"NULL != mx"))' has type 'void' and is not a throw-expression Looks like __assert has changed to return void. Wrapping the __assert part of UNIXSTL_ASSERT with (..., 0) fixes it.
Jan 08 2008