diff options
author | Richard Earnshaw <rearnsha@arm.com> | 1999-08-11 07:50:52 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-08-11 01:50:52 -0600 |
commit | 0dcda0020345c2c47dac425a33c8a7708ce759e8 (patch) | |
tree | b011f3120a82b4fd72b3a633cbf71f3767fe1bcc | |
parent | 00995e782e6dff70a39966c011afe8b53a7d3f28 (diff) | |
download | gcc-0dcda0020345c2c47dac425a33c8a7708ce759e8.zip gcc-0dcda0020345c2c47dac425a33c8a7708ce759e8.tar.gz gcc-0dcda0020345c2c47dac425a33c8a7708ce759e8.tar.bz2 |
* gcc.c-torture/execute/990811-1.c: New test.
From-SVN: r28665
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/990811-1.c | 31 |
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2203f87..45cae867 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +1999-08-11 Richard Earnshaw (rearnsha@arm.com) + + * gcc.c-torture/execute/990811-1.c: New test. + 1999-08-09 Nick Clifton <nickc@cygnus.com> * gcc.misc-tests/m-un-2.c: Expect the warnings for all builds, not diff --git a/gcc/testsuite/gcc.c-torture/execute/990811-1.c b/gcc/testsuite/gcc.c-torture/execute/990811-1.c new file mode 100644 index 0000000..95e1da9 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/990811-1.c @@ -0,0 +1,31 @@ +struct s {long a; int b;}; + +int foo(int x, void *y) +{ + switch(x) { + case 0: return ((struct s*)y)->a; + case 1: return *(signed char*)y; + case 2: return *(short*)y; + } + abort(); +} + +int main () +{ + struct s s; + short sh[10]; + signed char c[10]; + int i; + + s.a = 1; + s.b = 2; + for (i = 0; i < 10; i++) { + sh[i] = i; + c[i] = i; + } + + if (foo(0, &s) != 1) abort(); + if (foo(1, c+3) != 3) abort(); + if (foo(2, sh+3) != 3) abort(); + exit(0); +} |