summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-25 11:52:13 +0000
committergrahams <grahams@138bc75d-0d04-0410-961f-82ee72b054a4>2001-09-25 11:52:13 +0000
commitf7cf36bb1ecee09ee2588925d8440d33880d6aca (patch)
treea351b1780467015db87e80ff5a2b7cbf1d9c2be1
parent087719460482df60d28cd36e3afb76cfaea76fc6 (diff)
downloadgcc-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.c24
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;
+}