>From ccf4493a9e7a82cdb50bee6dfe9efbe68d992989 Mon Sep 17 00:00:00 2001
From: Maxim Kuvyrkov <maxim@kugelworks.com>
Date: Sun, 14 Jul 2013 19:39:41 +1200
Subject: [PATCH] Disable tests that require cancellation when using Bionic
 libc.

	* lib/target-supports.exp (check_effective_target_non_bionic): New
	effective-target test.
	* g++.dg/tls/thread_local4.C: Disable test for Android.
	* g++.dg/tls/thread_local4g.C: Ditto.
---
 gcc/testsuite/ChangeLog                   |    9 +++++++++
 gcc/testsuite/g++.dg/tls/thread_local4.C  |    1 +
 gcc/testsuite/g++.dg/tls/thread_local4g.C |    1 +
 gcc/testsuite/lib/target-supports.exp     |   11 +++++++++++
 4 files changed, 22 insertions(+)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 41cea55..d1b1240 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2013-07-14  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+	    Maxim Kuvyrkov  <maxim@kugelworks.com>
+
+	* lib/target-supports.exp (check_effective_target_non_bionic): New
+	effective-target test.
+	* g++.dg/tls/thread_local4.C: Disable test for Android.
+	* g++.dg/tls/thread_local4g.C: Ditto.
+
+
 2013-07-12  Michael Matz  <matz@suse.de>
 
 	PR middle-end/55771
diff --git a/gcc/testsuite/g++.dg/tls/thread_local4.C b/gcc/testsuite/g++.dg/tls/thread_local4.C
index acf1cae..24f2de6 100644
--- a/gcc/testsuite/g++.dg/tls/thread_local4.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local4.C
@@ -4,6 +4,7 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-effective-target pthread }
+// { dg-require-effective-target non_bionic }
 // { dg-options -pthread }
 // { dg-add-options tls }
 
diff --git a/gcc/testsuite/g++.dg/tls/thread_local4g.C b/gcc/testsuite/g++.dg/tls/thread_local4g.C
index f5bc3ff..f6a5d4c 100644
--- a/gcc/testsuite/g++.dg/tls/thread_local4g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local4g.C
@@ -4,6 +4,7 @@
 // { dg-require-effective-target c++11 }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-effective-target pthread }
+// { dg-require-effective-target non_bionic }
 // { dg-require-cxa-atexit "" }
 // { dg-options -pthread }
 // { dg-add-options tls }
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index c793611..26abdb5 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -4598,6 +4598,17 @@ proc check_effective_target_newlib {} {
     }]
 }
 
+# Return true if this is NOT a Bionic target.
+
+proc check_effective_target_non_bionic {} {
+    return [check_no_compiler_messages non_bionic object {
+	#include <features.h>
+	#if defined (__BIONIC__)
+	#error FOO
+	#endif
+    }]
+}
+
 # Return 1 if
 #   (a) an error of a few ULP is expected in string to floating-point
 #       conversion functions; and
-- 
1.7.9.5

