Hi there, It's a very simple test case modification to fix the test case failure on ARM bare metal target. thread_local6.C is a test case to test the behavior of the deconstruct of a thread local variable, and it just use _exit(0) to override the return 1(calling exit(1)). However, such a behavior can't be detected on embedded target with dejagnu wrapper mechanism, because the wrapper will only output the return value in exit() instead of _exit(). There're some similar test cases(g++.dg/init/ref15.C) already avoided to test on the target using wrapper, so this patch just follow their pattern to avoid the test case on target using wrapper.
gcc/gcc/testsuite/ChangeLog: 2014-08-20 Tony Wang <tony.w...@arm.com> * g++.dg/tls/thread_local6.C: Skip this test case when target uses dejagnu wrapper. diff --git a/gcc/testsuite/g++.dg/tls/thread_local6.C b/gcc/testsuite/g++.dg/tls/thread_local6.C index 378cf3d58c7bcbebb224137b353301f75b420d5a..6cf820e0e9a181e403aa2c0ebaa822ab7b6f7aab 100644 --- a/gcc/testsuite/g++.dg/tls/thread_local6.C +++ b/gcc/testsuite/g++.dg/tls/thread_local6.C @@ -1,6 +1,6 @@ // Test for cleanups in the main thread without -pthread. -// { dg-do run { target c++11 } } +// { dg-do run { target { c++11 && unwrapped } } } // { dg-add-options tls } // { dg-require-effective-target tls_runtime }