# HG changeset patch # User Leandro Lucarella # Date 1262801901 10800 # Node ID 4f63d530861f447569f28d4a09c4e819c118d6fe # Parent 1d0220dd613a321fb00b9ba0bc4b4301c5176387 Merge DMD r276: bugzilla 2229 ICE(template.c) instantiating an invalid... bugzilla 2229 ICE(template.c) instantiating an invalid variadic template with more than one argument. --- dmd/template.c | 7 ++++++- 1 files changed, 6 insertions(+), 1 deletions(-) diff -r 1d0220dd613a -r 4f63d530861f dmd/template.c --- a/dmd/template.c Wed Jan 06 15:18:21 2010 -0300 +++ b/dmd/template.c Wed Jan 06 15:18:21 2010 -0300 @@ -814,7 +814,12 @@ else n = nargsi; - memcpy(dedargs->data, targsi->data, n * sizeof(*dedargs->data)); + /* Test case for nargsi instead of n: + * string foo(T...)() { return ""; } + * void main() { foo!(int, char)(); } + */ + //memcpy(dedargs->data, targsi->data, n * sizeof(*dedargs->data)); + memcpy(dedargs->data, targsi->data, nargsi * sizeof(*dedargs->data)); for (size_t i = 0; i < n; i++) { assert(i < parameters->dim);