aboutsummaryrefslogtreecommitdiff
path: root/tinycc/tests/tests2/103_implicit_memmove.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinycc/tests/tests2/103_implicit_memmove.c')
-rw-r--r--tinycc/tests/tests2/103_implicit_memmove.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tinycc/tests/tests2/103_implicit_memmove.c b/tinycc/tests/tests2/103_implicit_memmove.c
new file mode 100644
index 0000000..1592fb2
--- /dev/null
+++ b/tinycc/tests/tests2/103_implicit_memmove.c
@@ -0,0 +1,20 @@
+/* Test that the memmove TCC is emitting for the struct copy
+ and hence implicitely declares can be declared properly also
+ later. */
+struct S { int a,b,c,d, e[1024];};
+int foo (struct S *a, struct S *b)
+{
+ *a = *b;
+ return 0;
+}
+
+void *memmove(void*,const void*,__SIZE_TYPE__);
+void foo2 (struct S *a, struct S *b)
+{
+ memmove(a, b, sizeof *a);
+}
+
+int main()
+{
+ return 0;
+}