diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 19db77891148c8040d33832724da803709154055..505090251d71387d3691ecdd1ae91e1784f6fe74 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2007-03-16  Richard Sandiford  <richard@codesourcery.com>
+
+	* lib/target-supports.exp (check_missing_uclibc_feature): Don't
+	assume that the target has <features.h>.
+
 2007-03-16  Richard Sandiford  <richard@codesourcery.com>
 
 	* gcc.dg/20020426-2.c: Add the fpic requirement to the PIC
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 113b8da00cdf07281dcd6cc61ad0a9ecae5ef66c..fec52ac0a896e5508707fdf0324a8f83376a9404 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2077,15 +2077,12 @@ proc check_effective_target_uclibc {} {
 # described by __$feature__ is not present.
 
 proc check_missing_uclibc_feature {feature} {
-    if {[check_no_compiler_messages $feature object "
-	     #include <features.h>
-	     #if defined (__UCLIBC__) && !defined (__${feature}__)
-	     #error FOO
-	     #endif
-	 "]} {
-	return 0
-    }
-    return 1
+    return [check_no_compiler_messages $feature object "
+	#include <features.h>
+	#if !defined (__UCLIBC) || !defined (__${feature}__)
+	#error FOO
+	#endif
+    "]
 }
 
 # Return true if this is a Newlib target.