Thread overview | |||||
---|---|---|---|---|---|
|
November 11, 2009 [Issue 3495] New: Segfault(typinf.c) instantiating D variadic function with too few arguments | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=3495 Summary: Segfault(typinf.c) instantiating D variadic function with too few arguments Product: D Version: 1.051 Platform: Other OS/Version: Windows Status: NEW Keywords: ice-on-invalid-code Severity: normal Priority: P2 Component: DMD AssignedTo: nobody@puremagic.com ReportedBy: clugdbug@yahoo.com.au --- Comment #0 from Don <clugdbug@yahoo.com.au> 2009-11-11 05:39:45 PST --- Segfaulting in createTypeInfoArray(): exps[i] is null. Applies to DMD0.175 and later, including both D2.036 and D1.051. --- void foo(int,...) {} void bar(){ foo(); } --- arr.d(4): Error: function arr.foo (int _param_0,...) is not callable using argum ent types () arr.d(4): Error: expected 1 function arguments, not 0 <segfault> Doesn't happen with C-style variadics. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
November 11, 2009 [Issue 3495] Segfault(typinf.c) instantiating D variadic function with too few arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | http://d.puremagic.com/issues/show_bug.cgi?id=3495 Don <clugdbug@yahoo.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch --- Comment #1 from Don <clugdbug@yahoo.com.au> 2009-11-11 07:57:22 PST --- CAUSE: if not enough arguments, tries to create a negatively-sized type info array! PATCH: expression.c, line 802 (DMD2 svn 241), at end of functionArguments(): --- // If D linkage and variadic, add _arguments[] as first argument - if (tf->linkage == LINKd && tf->varargs == 1) + if (tf->linkage == LINKd && tf->varargs == 1 && arguments->dim >= nparams) { Expression *e; e = createTypeInfoArray(sc, (Expression **)&arguments->data[nparams], arguments->dim - nparams); arguments->insert(0, e); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
December 06, 2009 [Issue 3495] Segfault(typinf.c) instantiating D variadic function with too few arguments | ||||
---|---|---|---|---|
| ||||
Posted in reply to Don | http://d.puremagic.com/issues/show_bug.cgi?id=3495 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |FIXED --- Comment #2 from Walter Bright <bugzilla@digitalmars.com> 2009-12-06 00:47:06 PST --- Fixed dmd 1.053 and 2.037 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation