diff options
author | Mark Shinwell <shinwell@codesourcery.com> | 2008-05-06 18:34:53 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@gcc.gnu.org> | 2008-05-06 18:34:53 +0000 |
commit | 85b56a901cbf2bd02fb545f0aecce61b0f3bf405 (patch) | |
tree | 3407c825573e031f18d6378b7559d1143d98a28a /gcc | |
parent | 8fc541d3a5225284038d28ebe0b80cba2da3371b (diff) | |
download | gcc-85b56a901cbf2bd02fb545f0aecce61b0f3bf405.zip gcc-85b56a901cbf2bd02fb545f0aecce61b0f3bf405.tar.gz gcc-85b56a901cbf2bd02fb545f0aecce61b0f3bf405.tar.bz2 |
enum6.C, [...]: Broaden dg-options pattern.
* g++.old-deja/g++.jason/enum6.C, g++.old-deja/g++.law/enum9.C,
g++.old-deja/g++.other/enum4.C, gfortran/enum_9.f90,
gfortran.dg/enum_10.f90: Broaden dg-options pattern.
Co-Authored-By: Andrew Jenner <andrew@codesourcery.com>
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>
From-SVN: r134993
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/enum6.C | 11 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.law/enum9.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/enum4.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/enum_10.f90 | 1 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/enum_9.f90 | 1 |
6 files changed, 45 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4aacdf2..7e4386e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2008-05-06 Mark Shinwell <shinwell@codesourcery.com> + Daniel Jacobowitz <dan@codesourcery.com> + Andrew Jenner <andrew@codesourcery.com> + + * g++.old-deja/g++.jason/enum6.C, g++.old-deja/g++.law/enum9.C, + g++.old-deja/g++.other/enum4.C, gfortran/enum_9.f90, + gfortran.dg/enum_10.f90: Broaden dg-options pattern. + 2008-05-06 Tom Tromey <tromey@redhat.com> PR preprocessor/35313, PR preprocessor/36088: diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum6.C b/gcc/testsuite/g++.old-deja/g++.jason/enum6.C index 586b4ce..7be0cd8 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/enum6.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/enum6.C @@ -1,6 +1,17 @@ // { dg-do run } // { dg-options "-fshort-enums" } +// On ARM EABI targets this testcase will cause a warning to be emitted +// whilst EABI attributes are being merged at link time unless +// the --no-enum-size-warning option is passed to the linker. Whilst the +// enum-size attributes should only be emitted if there are values of +// enum type that can escape the compilation unit, gcc cannot currently +// detect this; if this facility is added then this linker option should +// not be needed. arm-*-linux*eabi should be a good approximation to +// those platforms where the EABI supplement defines enum values to be +// 32 bits wide. +// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } + #include <limits.h> enum A { a1 = 0x7fffffff }; diff --git a/gcc/testsuite/g++.old-deja/g++.law/enum9.C b/gcc/testsuite/g++.old-deja/g++.law/enum9.C index 9713e4b..5a74b2f 100644 --- a/gcc/testsuite/g++.old-deja/g++.law/enum9.C +++ b/gcc/testsuite/g++.old-deja/g++.law/enum9.C @@ -1,5 +1,17 @@ // { dg-do run } // { dg-options "-fshort-enums" } + +// On ARM EABI targets this testcase will cause a warning to be emitted +// whilst EABI attributes are being merged at link time unless +// the --no-enum-size-warning option is passed to the linker. Whilst the +// enum-size attributes should only be emitted if there are values of +// enum type that can escape the compilation unit, gcc cannot currently +// detect this; if this facility is added then this linker option should +// not be needed. arm-*-linux*eabi should be a good approximation to +// those platforms where the EABI supplement defines enum values to be +// 32 bits wide. +// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } + // GROUPS passed enums extern "C" int printf (const char *, ...); diff --git a/gcc/testsuite/g++.old-deja/g++.other/enum4.C b/gcc/testsuite/g++.old-deja/g++.other/enum4.C index 6dd025c..429e812 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/enum4.C +++ b/gcc/testsuite/g++.old-deja/g++.other/enum4.C @@ -1,7 +1,19 @@ // { dg-do run } // { dg-options "-fshort-enums" } + // Origin: Mark Mitchell <mark@codesourcery.com> +// On ARM EABI targets this testcase will cause a warning to be emitted +// whilst EABI attributes are being merged at link time unless +// the --no-enum-size-warning option is passed to the linker. Whilst the +// enum-size attributes should only be emitted if there are values of +// enum type that can escape the compilation unit, gcc cannot currently +// detect this; if this facility is added then this linker option should +// not be needed. arm-*-linux*eabi should be a good approximation to +// those platforms where the EABI supplement defines enum values to be +// 32 bits wide. +// { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } + enum E { a = -312 }; diff --git a/gcc/testsuite/gfortran.dg/enum_10.f90 b/gcc/testsuite/gfortran.dg/enum_10.f90 index 6bfd819..99a1690 100644 --- a/gcc/testsuite/gfortran.dg/enum_10.f90 +++ b/gcc/testsuite/gfortran.dg/enum_10.f90 @@ -1,6 +1,7 @@ ! { dg-do run } ! { dg-additional-sources enum_10.c } ! { dg-options "-fshort-enums -w" } +! { dg-options "-fshort-enums -w -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } ! Make sure short enums are indeed interoperable with the ! corresponding C type. diff --git a/gcc/testsuite/gfortran.dg/enum_9.f90 b/gcc/testsuite/gfortran.dg/enum_9.f90 index e735cf8..8a5c60a 100644 --- a/gcc/testsuite/gfortran.dg/enum_9.f90 +++ b/gcc/testsuite/gfortran.dg/enum_9.f90 @@ -1,5 +1,6 @@ ! { dg-do run } ! { dg-options "-fshort-enums" } +! { dg-options "-fshort-enums -Wl,--no-enum-size-warning" { target arm*-*-linux*eabi } } ! Program to test enumerations when option -fshort-enums is given program main |