diff --git a/libcxxabi/test/test_exception_storage.pass.cpp b/libcxxabi/test/test_exception_storage.pass.cpp --- a/libcxxabi/test/test_exception_storage.pass.cpp +++ b/libcxxabi/test/test_exception_storage.pass.cpp @@ -44,9 +44,7 @@ std::__libcpp_thread_t threads [ NUMTHREADS ]; #endif -int main () { - int retVal = 0; - +int main() { #ifndef _LIBCXXABI_HAS_NO_THREADS // Make the threads, let them run, and wait for them to finish for ( int i = 0; i < NUMTHREADS; ++i ) @@ -54,6 +52,7 @@ for ( int i = 0; i < NUMTHREADS; ++i ) std::__libcpp_thread_join ( &threads [ i ] ); + int retVal = 0; for ( int i = 0; i < NUMTHREADS; ++i ) { if ( 0 == thread_globals [ i ] ) { std::printf("Thread #%d had a zero global\n", i); @@ -68,12 +67,11 @@ retVal = 2; } } + return retVal; #else // _LIBCXXABI_HAS_NO_THREADS size_t thread_globals; + thread_code(&thread_globals); // Check that __cxa_get_globals() is not NULL. - if (thread_code(&thread_globals) == 0) { - retVal = 1; - } + return (thread_globals == 0) ? 1 : 0; #endif // !_LIBCXXABI_HAS_NO_THREADS - return retVal; }