[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;
}