aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Shinwell <shinwell@codesourcery.com>2008-05-06 18:34:53 +0000
committerDaniel Jacobowitz <drow@gcc.gnu.org>2008-05-06 18:34:53 +0000
commit85b56a901cbf2bd02fb545f0aecce61b0f3bf405 (patch)
tree3407c825573e031f18d6378b7559d1143d98a28a
parent8fc541d3a5225284038d28ebe0b80cba2da3371b (diff)
downloadgcc-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
-rw-r--r--gcc/testsuite/ChangeLog8
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum6.C11
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/enum9.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/enum4.C12
-rw-r--r--gcc/testsuite/gfortran.dg/enum_10.f901
-rw-r--r--gcc/testsuite/gfortran.dg/enum_9.f901
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