From c31dc7aa0c36e19e15cf41a0d2728e89ad339660 Mon Sep 17 00:00:00 2001 From: Shinichiro Hamaji Date: Tue, 31 Aug 2010 08:35:31 +0900 Subject: Fix casts from 32bit integer types to 64bit integer types. This bug was reported in http://lists.gnu.org/archive/html/tinycc-devel/2010-08/msg00050.html In this case, we should not emit any code when we cast from VT_FUNC to VT_PTR. --- tests/tcctest.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests/tcctest.c') diff --git a/tests/tcctest.c b/tests/tcctest.c index 7236971..916db09 100644 --- a/tests/tcctest.c +++ b/tests/tcctest.c @@ -1094,6 +1094,14 @@ void struct_assign_test(void) printf("before call: %d %d\n", lsta2.f1, lsta2.f2); lsta2 = struct_assign_test2(lsta2, 4); printf("after call: %d %d\n", lsta2.f1, lsta2.f2); + + static struct { + void (*elem)(); + } t[] = { + /* XXX: we should allow this even without braces */ + { struct_assign_test } + }; + printf("%d\n", struct_assign_test == t[0].elem); } /* casts to short/char */ -- cgit v1.3.1