From: Rainer Orth Date: Tue, 12 Apr 2011 16:37:04 +0000 (+0000) Subject: gcc: X-Git-Tag: releases/gcc-4.5.3~78 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=160e010d93917923feea04c9871e2f45acfb6b79;p=thirdparty%2Fgcc.git gcc: Backport from mainline: 2011-02-11 Rainer Orth PR testsuite/47400 * doc/sourcebuild.texi (Require Support): Document dg-require-ascii-locale. gcc/testsuite: Backport from mainline: 2011-02-11 Rainer Orth 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. From-SVN: r172326 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fdd2535499ff..94af0092fc16 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2011-04-12 Rainer Orth + + Backport from mainline: + 2011-02-11 Rainer Orth + + PR testsuite/47400 + * doc/sourcebuild.texi (Require Support): Document + dg-require-ascii-locale. + 2011-04-12 Ramana Radhakrishnan Backport from mainline: diff --git a/gcc/doc/sourcebuild.texi b/gcc/doc/sourcebuild.texi index 02b85ac3e7ca..a7a76e2ad591 100644 --- a/gcc/doc/sourcebuild.texi +++ b/gcc/doc/sourcebuild.texi @@ -1,4 +1,4 @@ -@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. @@ -1925,6 +1925,9 @@ take arguments could be replaced with effective-target keywords. @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. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index af47b5734c82..1ca372205992 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,18 @@ +2011-04-12 Rainer Orth + + Backport from mainline: + 2011-02-11 Rainer Orth + + 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. + 2011-04-07 Jakub Jelinek PR fortran/48117 diff --git a/gcc/testsuite/gcc.dg/attr-alias-5.c b/gcc/testsuite/gcc.dg/attr-alias-5.c index 554668d212f3..d22c286fc658 100644 --- a/gcc/testsuite/gcc.dg/attr-alias-5.c +++ b/gcc/testsuite/gcc.dg/attr-alias-5.c @@ -3,6 +3,7 @@ /* { 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'" } */ diff --git a/gcc/testsuite/gcc.dg/ucnid-10.c b/gcc/testsuite/gcc.dg/ucnid-10.c index 39148108b333..f05db118df49 100644 --- a/gcc/testsuite/gcc.dg/ucnid-10.c +++ b/gcc/testsuite/gcc.dg/ucnid-10.c @@ -2,6 +2,7 @@ locale). Test #pragma pack diagnostics. */ /* { dg-do compile { target *-*-linux* *-*-cygwin* powerpc*-*-eabi* } } */ /* { dg-options "-std=gnu99 -fextended-identifiers" } */ +/* { dg-require-ascii-locale "" } */ #pragma pack(push) #pragma pack(pop, \u00f3) /* { dg-warning "pop, \\\\U000000f3.*push, \\\\U000000f3" } */ diff --git a/gcc/testsuite/gcc.dg/ucnid-13.c b/gcc/testsuite/gcc.dg/ucnid-13.c index 8ec69fa3b930..942178994226 100644 --- a/gcc/testsuite/gcc.dg/ucnid-13.c +++ b/gcc/testsuite/gcc.dg/ucnid-13.c @@ -2,6 +2,7 @@ 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" } */ diff --git a/gcc/testsuite/gcc.dg/ucnid-7.c b/gcc/testsuite/gcc.dg/ucnid-7.c index fe53a497ffa3..1dbcb9ac77b2 100644 --- a/gcc/testsuite/gcc.dg/ucnid-7.c +++ b/gcc/testsuite/gcc.dg/ucnid-7.c @@ -2,6 +2,7 @@ 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" } */ diff --git a/gcc/testsuite/gcc.dg/ucnid-8.c b/gcc/testsuite/gcc.dg/ucnid-8.c index 4ec3eeba29f7..ea2e051f04a6 100644 --- a/gcc/testsuite/gcc.dg/ucnid-8.c +++ b/gcc/testsuite/gcc.dg/ucnid-8.c @@ -2,6 +2,7 @@ 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'" } */ @@ -11,4 +12,4 @@ void f (int b) { int \u00e9[b]; } /* { dg-warning "variable length array '\\\\U0 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 } */ diff --git a/gcc/testsuite/lib/target-supports-dg.exp b/gcc/testsuite/lib/target-supports-dg.exp index e742d750c762..4239c389044f 100644 --- a/gcc/testsuite/lib/target-supports-dg.exp +++ b/gcc/testsuite/lib/target-supports-dg.exp @@ -1,5 +1,5 @@ -# 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 @@ -128,6 +128,15 @@ proc dg-require-dll { args } { 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 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index da23650f2b92..013ba0bccc96 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -850,6 +850,17 @@ proc check_iconv_available { test_what } { }] $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 { } {