From da88b352787b53926ba3038983289a59ddaea887 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Mon, 11 Sep 2000 21:00:19 +0000 Subject: [PATCH] 20000910-1.c: New test. * gcc.c-torture/execute/20000910-1.c: New test. * gcc.c-torture/execute/20000910-2.c: Likewise. From-SVN: r36328 --- gcc/testsuite/ChangeLog | 5 ++++ .../gcc.c-torture/execute/20000910-1.c | 27 ++++++++++++++++++ .../gcc.c-torture/execute/20000910-2.c | 28 +++++++++++++++++++ 3 files changed, 60 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000910-1.c create mode 100644 gcc/testsuite/gcc.c-torture/execute/20000910-2.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3fbaaa09bfd..f9a0543cc4a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2000-09-11 Alexandre Oliva + + * gcc.c-torture/execute/20000910-1.c: New test. + * gcc.c-torture/execute/20000910-2.c: Likewise. + 2000-09-11 Robert Lipe * gcc.dg/pragma-align.c: New test. diff --git a/gcc/testsuite/gcc.c-torture/execute/20000910-1.c b/gcc/testsuite/gcc.c-torture/execute/20000910-1.c new file mode 100644 index 00000000000..0c3c602dd6d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000910-1.c @@ -0,0 +1,27 @@ +/* Copyright (C) 2000 Free Software Foundation */ +/* by Alexandre Oliva */ + +#include + +void bar (int); +void foo (int *); + +int main () { + static int a[] = { 0, 1, 2 }; + int *i = &a[sizeof(a)/sizeof(*a)]; + + while (i-- > a) + foo (i); + + exit (0); +} + +void baz (int, int); + +void bar (int i) { baz (i, i); } +void foo (int *i) { bar (*i); } + +void baz (int i, int j) { + if (i != j) + abort (); +} diff --git a/gcc/testsuite/gcc.c-torture/execute/20000910-2.c b/gcc/testsuite/gcc.c-torture/execute/20000910-2.c new file mode 100644 index 00000000000..0023d2451e0 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000910-2.c @@ -0,0 +1,28 @@ +/* Copyright (C) 2000 Free Software Foundation */ +/* by Alexandre Oliva */ + +#include +#include + +char *list[] = { "*", "e" }; + +static int bar (const char *fmt) { + return (strchr (fmt, '*') != 0); +} + +static void foo () { + int i; + for (i = 0; i < sizeof (list) / sizeof (*list); i++) { + const char *fmt = list[i]; + if (bar (fmt)) + continue; + if (i == 0) + abort (); + else + exit (0); + } +} + +int main () { + foo (); +} -- 2.30.2