[libcxxabi] Fix NO_THREADS version of test_exception_storage.pass.cpp

`thread_code` returns param, which for NO_THREADS is going to be
`&thread_globals`. Thus, the return value will never be null. The test
was probably meant to check if `*thread_code(&thread_globals) == 0`.
However, to avoid the extra cast, and to bring the NO_THREADS version
more in line with the regular version of the test, this changes it to
check if thread_globals == 0 directly.

Reviewed By: ldionne, #libc_abi

Differential Revision: https://reviews.llvm.org/D113048

GitOrigin-RevId: 795ff77840e161018a44fe30ae53ad05e5d98f97
diff --git a/test/test_exception_storage.pass.cpp b/test/test_exception_storage.pass.cpp
index 460d27b..5a68be7 100644
--- a/test/test_exception_storage.pass.cpp
+++ b/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;
 }