diff options
author | grahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-25 11:52:13 +0000 |
---|---|---|
committer | grahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-09-25 11:52:13 +0000 |
commit | f7cf36bb1ecee09ee2588925d8440d33880d6aca (patch) | |
tree | a351b1780467015db87e80ff5a2b7cbf1d9c2be1 | |
parent | 087719460482df60d28cd36e3afb76cfaea76fc6 (diff) | |
download | gcc-f7cf36bb1ecee09ee2588925d8440d33880d6aca.tar.gz |
* 20010925-1.c: New testcase for incorrect sibcall optimization.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@45804 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20010925-1.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20010925-1.c b/gcc/testsuite/gcc.c-torture/execute/20010925-1.c new file mode 100644 index 00000000000..ad1ba6dd231 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20010925-1.c @@ -0,0 +1,24 @@ +extern void exit(int); +extern void abort (void); + +extern void * memcpy (void *, const void *, unsigned int); +int foo (void *, void *, unsigned int c); + +int src[10]; +int dst[10]; + +int main() +{ + if (foo (dst, src, 10) != 0) + abort(); + exit(0); +} + +int foo (void *a, void *b, unsigned int c) +{ + if (c == 0) + return 1; + + memcpy (a, b, c); + return 0; +} |