PR testsuite/47400
* lib/target-supports.exp (check_ascii_locale_available): New proc.
* lib/target-supports-dg.exp (dg-require-ascii-locale): New proc.
* gcc.dg/attr-alias-5.c: Use dg-require-ascii-locale.
* gcc.dg/ucnid-10.c: Likewise.
* gcc.dg/ucnid-13.c: Likewise.
* gcc.dg/ucnid-7.c: Likewise.
* gcc.dg/ucnid-8.c: Likewise.
* Adapt dg-warning line number.
gcc:
PR testsuite/47400
* doc/sourcebuild.texi (Require Support): Document
dg-require-ascii-locale.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170046
138bc75d-0d04-0410-961f-
82ee72b054a4
+2011-02-11 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ PR testsuite/47400
+ * doc/sourcebuild.texi (Require Support): Document
+ dg-require-ascii-locale.
+
2011-02-11 Mingjie Xing <mingjie.xing@gmail.com>
* doc/lto.texi (Write summary): Fix missing parentheses.
-@c Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
+@c Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
@c Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
@item dg-require-alias ""
Skip the test if the target does not support the @samp{alias} attribute.
+@item dg-require-ascii-locale ""
+Skip the test if the host does not support an ASCII locale.
+
@item dg-require-compat-dfp ""
Skip this test unless both compilers in a @file{compat} testsuite
support decimal floating point.
/* { dg-do compile } */
/* { dg-options "-std=gnu99" } */
/* { dg-require-alias "" } */
+/* { dg-require-ascii-locale "" } */
void f0 (void) __attribute__((alias("\xa1"))); /* { dg-error "undefined symbol '\\\\241'" } */
void f1 (void) __attribute__((alias("\u00e9"))); /* { dg-error "undefined symbol '\\\\U000000e9'" } */
locale). Test #pragma pack diagnostics. */
/* { dg-do compile } */
/* { dg-options "-std=gnu99 -fextended-identifiers" } */
+/* { dg-require-ascii-locale "" } */
#pragma pack(push)
#pragma pack(pop, \u00f3) /* { dg-warning "pop, \\\\U000000f3.*push, \\\\U000000f3" } */
locale). Miscellaneous diagnostics. */
/* { dg-do compile } */
/* { dg-options "-std=gnu99 -fextended-identifiers -Wpacked" } */
+/* { dg-require-ascii-locale "" } */
int a __attribute__((\u00c0)); /* { dg-warning "'\\\\U000000c0' attribute directive ignored" } */
locale). */
/* { dg-do compile } */
/* { dg-options "-std=c99 -fextended-identifiers" } */
+/* { dg-require-ascii-locale "" } */
void *p = &\u00e9; /* { dg-error "'\\\\U000000e9' undeclared" } */
void *q = &\u1e00; /* { dg-error "'\\\\U00001e00' undeclared" } */
locale). Further tests of C front-end diagnostics. */
/* { dg-do compile } */
/* { dg-options "-std=gnu99 -fextended-identifiers -Wvla" } */
+/* { dg-require-ascii-locale "" } */
int a __attribute__((__mode__(\u00e9))); /* { dg-error "unknown machine mode '\\\\U000000e9'" } */
struct s1 { int \u00e9 : 0; }; /* { dg-error "zero width for bit-field '\\\\U000000e9'" } */
void g (static int \u00e9); /* { dg-error "storage class specified for parameter '\\\\U000000e9'" } */
struct s2 { int \u00e1; } \u00e9 = { { 0 } }; /* { dg-warning "braces around scalar initializer" } */
-/* { dg-warning "near initialization for '\\\\U000000e9\\.\\\\U000000e1'" "UCN diag" { target *-*-* } 13 } */
+/* { dg-warning "near initialization for '\\\\U000000e9\\.\\\\U000000e1'" "UCN diag" { target *-*-* } 14 } */
-# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1997, 1999, 2000, 2003, 2004, 2005, 2007, 2008, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
}
+# If this host does not support an ASCII locale, skip this test.
+
+proc dg-require-ascii-locale { args } {
+ if { ![ check_ascii_locale_available] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ }
+}
+
proc dg-require-iconv { args } {
if { ![ check_iconv_available ${args} ] } {
upvar dg-do-what dg-do-what
-# Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-# Free Software Foundation, Inc.
+# Copyright (C) 1999, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+# 2011 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
}] $libiconv]
}
+# Return 1 if an ASCII locale is supported on this host, 0 otherwise.
+
+proc check_ascii_locale_available { } {
+ if { ([ishost alpha*-dec-osf*] || [ishost mips-sgi-irix*]) } {
+ # Neither Tru64 UNIX nor IRIX support an ASCII locale.
+ return 0
+ } else {
+ return 1
+ }
+}
+
# Return true if named sections are supported on this target.
proc check_named_sections_available { } {