January 04, 2008
[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.

January 08, 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"),
> ((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.
>