aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20040331-1.c8
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c0b55a7..5cc6e2e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2004-04-30 Kazu Hirata <kazu@cs.umass.edu>
+ * gcc.c-torture/execute/20040331-1.c: Don't use too wide a
+ bit-field on 16-bit targets.
+
+2004-04-30 Kazu Hirata <kazu@cs.umass.edu>
+
* gcc.c-torture/execute/20040409-2.c: Fix constants used on
16-bit targets.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20040331-1.c b/gcc/testsuite/gcc.c-torture/execute/20040331-1.c
index 67b3e3a..2e8f9e8 100644
--- a/gcc/testsuite/gcc.c-torture/execute/20040331-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20040331-1.c
@@ -5,8 +5,16 @@ extern void exit (int);
int
main (void)
{
+#if __INT_MAX__ >= 2147483647
struct { int count: 31; } s = { 0 };
while (s.count--)
abort ();
+#elif __INT_MAX__ >= 32767
+ struct { int count: 15; } s = { 0 };
+ while (s.count--)
+ abort ();
+#else
+ /* Don't bother because __INT_MAX__ is too small. */
+#endif
exit (0);
}