* lib/target-supports.exp (check_missing_uclibc_feature)
(check_effective_target_wchar): New procedures.
* gcc.dg/wchar_t-1.c: Require target wchar.
* gcc.dg/wint_t-1.c: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122959
138bc75d-0d04-0410-961f-
82ee72b054a4
+2007-03-15 Richard Sandiford <richard@codesourcery.com>
+
+ * lib/target-supports.exp (check_missing_uclibc_feature)
+ (check_effective_target_wchar): New procedures.
+ * gcc.dg/wchar_t-1.c: Require target wchar.
+ * gcc.dg/wint_t-1.c: Likewise.
+
2007-03-15 Richard Sandiford <richard@codesourcery.com>
* lib/target-supports.exp (check_gc_sections_available): Return
-/* { dg-do compile } */
+/* { dg-do compile { target wchar } } */
/* { dg-options "-Wall" } */
/* Compile with -Wall to get a warning if built-in and system wchar_t don't
-/* { dg-do compile } */
+/* { dg-do compile { target wchar } } */
/* { dg-options "-Wall" } */
/* Compile with -Wall to get a warning if built-in and system wint_t don't
}]
}
+# Return true if this is a uclibc target and if the uclibc feature
+# 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 true if this is a Newlib target.
proc check_effective_target_newlib {} {
#endif
}]
}
+
+# Return 1 if the target is expected to provide wide character support.
+
+proc check_effective_target_wchar { } {
+ if {[check_missing_uclibc_feature UCLIBC_HAS_WCHAR]} {
+ return 0
+ }
+ return [check_no_compiler_messages wchar assembly {
+ #include <wchar.h>
+ }]
+}